2012-04-09 23 views
0

內部中繼器我有一個html複選框,現在我想在代碼後面的文件中訪問該複選框來檢查複選框是否被選中或不。但我不希望用戶RUNAT =「服務器」標籤,我怎麼能做到這一點我的代碼如上如何在不使用runat =「server」標籤的情況下在代碼後面的代碼中找到中繼器控件的HtmlInputCheckBox

<input id="cbfdgroup" class="checkitem" type="checkbox" name="fd_cb_group[]" value='<%#Eval("FoodItemsUid") %>'> 

在隱藏文件我試圖像這樣訪問

foreach (RepeaterItem ri in rptMenu.Items) 
     { 
      if (ri.ItemType == ListItemType.Item || ri.ItemType == ListItemType.AlternatingItem) 
      { 
       HtmlInputCheckBox chk = (HtmlInputCheckBox)ri.FindControl("cbfdgroup"); 

       if (chk.Checked) 
       { 
       } 
      } 
     } 

代碼,但是這是因爲對象引用沒有設置爲對象的實例。如何在不使用runat =「server」標記的情況下在代碼後面的代碼中獲得此控件

+0

爲什麼你不希望使用RUNAT =「服務器」? – dougajmcdonald 2012-04-09 18:24:03

+0

這是不可能的。 – Khan 2012-04-09 18:25:25

+0

由於什麼原因不可能?大概如果你有控制權說隱藏代碼,你可以訪問aspx頁面嗎?或者我錯過了什麼? – dougajmcdonald 2012-04-09 18:27:47

回答

1

我不相信你在問什麼是可能的。 runat=server是使控件可用於後面的代碼。如果你刪除了這個屬性,你的代碼就不會以任何方式知道控件了。

多一點點的解釋:

代碼隱藏在服務器上執行。因此,您想要在代碼隱藏中訪問的任何控件必須有runat=server才能使用。這兩個是不可分割的。

+0

複選框..以便它可以通過我的jquery代碼訪問..所以我會得到一些值後,我用runat屬性只有複選框..我可以檢查代碼後面檢查或沒有file..thanks爲所有響應我的問題 – suresh 2012-04-09 19:23:09

+0

添加runat標記不應該阻止您的複選框與jquery工作... – SouthShoreAK 2012-04-09 20:13:17

1

這是不可能的。爲了澄清,runat="server"部分正在做它說的。這是說這個控制應該可用並可以被服務器訪問。

代碼隱藏的代碼是由服務器運行/執行的代碼。因此,從邏輯上講,如果控制服務器沒有提供給服務器,它不能被代碼操作(因此當它不會在智能感知中出現時)。

+0

複選框..以便它可以通過我的jQuery代碼訪問..所以我會得到一些值後,我用只有runat屬性的複選框..我可以檢查選中或不在代碼後面的文件..感謝所有迴應我的問題 – suresh 2012-04-09 19:23:54

0

你不需要從中繼器讀取項目

假設你是發送回發到服務器(HTTP POST)

,你可以通過簡單地讀取所選擇的複選框:

string x = Request["fd_cb_group[]"]; 

它超過1它將用逗號分開,只是使用拆分獲取所選v的字符串列表alues。

整個事情會是這樣的事情:

 protected void Button1_Click(object sender, EventArgs e) 
    { 
     string x = Request["fd_cb_group[]"]; 

     string[] allSelectedOnes = x.Split(','); 

     foreach(string item in allSelectedOnes) 
     { 
      //your custom code for the selected checkboxes 
     } 
    } 
+0

複選框..以便它可以通過我的jQuery代碼訪問..所以我會得到一些值後,我用runat屬性複選框只..我可以檢查選中或不在代碼後面的文件..感謝所有迴應我的問題 – suresh 2012-04-09 19:21:13

+0

是的,這在技術上w掃。但是,它拋棄了asp.net帶給桌面的大量功能。當asp.net出來時,其最大的好處之一就是我們不必再手動解析響應對象。 – SouthShoreAK 2012-04-09 20:12:39

+0

SouthShoreAK,下面的代碼有助於Suresh想要做的事情,如果他將在已存在的回發中使用,他仍然可以在他的webform應用程序中使用(保持viewstate,抽象請求,響應..)點是的,如果你仔細使用它,你仍然可以使用這兩個世界 – Sweet 2012-04-09 20:18:28

相關問題