2012-05-31 67 views
1

我有一個內部Web服務(ASP.NET)寫在我工作的公司的C#上。它只有2個頁面,其中一個頁面包含DropDownList。 每當用戶從該DropDownList中選擇一個項目時,我需要以某種方式將選定的項目值傳遞給靜態方法,並在該頁面的任何位置顯示該方法的結果字符串。動態數據加載ASPX頁

我從來沒有使用ASP.NET或任何Web編程之前,有點困惑如何做到這一點,不知道從哪裏開始尋找甚至。

+0

你也將不得不作出的方法保護,通過Blachshma下面爲你贏得」提到無法調用靜態方法。 –

回答

0

您可以se5t將AutoPostBack =「true」和處理在服務器端更改事件或使用jQuery認購變化事件,並獲得客戶端的價值

0

你或許應該看看一些微軟爲新的.NET開發人員提供的巨大資源。他們會幫助你入門。她是一些非常好的視頻的鏈接,以幫助您:http://www.asp.net/web-forms/videos

不知道您來自哪種語言,如果有的話......但大多數情況下,webforms將會像其他基於web的方法一樣工作。

您的ASP.NET控件(在您的情況下DropDownList)有客戶端和服務器端事件。

您可能想要在DropDownList上映射服務器端OnSelectedIndexChanged事件。

爲了對該控件進行回發,您需要將DropDownList上的AutoPostBack屬性設置爲true。

1

在你的aspx文件,你應該有這樣的:

<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" 
      onselectedindexchanged="ListBox1_SelectedIndexChanged"></asp:ListBox> 

通知的的AutoPostBack =「真」可以追溯到服務器並觸發用戶在列表框中更改選擇後SelectedIndexChanged事件

在你的後臺代碼(cs文件) 你應該有這樣的:

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     // Call static method and pass the ListBox1.SelectedIndex 
     // MyStaticMethod(ListBox1.SelectedIndex); 
    } 
+0

然後,看起來你正在使用ASP.NET MVC,它與基本的ASP.NET不同,並且具有不同的語法。我建議更新這個問題,或者創建一個新的問題,在這個問題中您可以創建更加獨特的標題,關鍵字和代碼示例。 – Blachshma

0

試試這個

在HTML中,

 <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
     onselectedindexchanged="DropDownList1_SelectedIndexChanged"> 
    </asp:DropDownList> 

在aspx.cs頁,,

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string selctedValue = DropDownList1.SelectedValue; 
     /// Call yours static methid here 
    YourMethod(selctedValue); 
}