2010-10-22 53 views
0

我創建了一個ASP.NET自定義服務器控件呈現一個標準的複選框和隱藏字段是這樣的:我可以檢索ASP.NET中標準輸入的值嗎?

public class CheckAllBox : WebControl 
{ 

    private string checkboxClientID; 

    protected override void OnInit(EventArgs e) 
    { 
     checkboxClientID = String.Format("{0}{1}chbCheckAll", base.ClientID, base.ClientIDSeparator); 
     base.OnInit(e); 
    } 

    protected override void Render(HtmlTextWriter writer) 
    { 
     //Render checkbox 
     writer.AddAttribute(HtmlTextWriterAttribute.Id, checkboxClientID); 
     writer.AddAttribute(HtmlTextWriterAttribute.Name, checkboxClientID); 
     writer.AddAttribute(HtmlTextWriterAttribute.Type, "checkbox"); 
     writer.AddAttribute(HtmlTextWriterAttribute.Value, Values); 
     writer.RenderBeginTag(HtmlTextWriterTag.Input); 
     writer.RenderEndTag(); 

     //Render hidden field 
     writer.AddAttribute(HtmlTextWriterAttribute.Id, String.Format("{0}{1}hdnExcludeValues", base.ClientID, base.ClientIDSeparator)); 
     writer.AddAttribute(HtmlTextWriterAttribute.Name, String.Format("{0}{1}hdnExcludeValues", base.ClientID, base.ClientIDSeparator)); 
     writer.AddAttribute(HtmlTextWriterAttribute.Type, "hidden"); 
     writer.AddAttribute(HtmlTextWriterAttribute.Value, ExcludeValues.ToString()); 
     writer.RenderBeginTag(HtmlTextWriterTag.Input); 
     writer.RenderEndTag(); 
    } 
} 

現在我要檢索的隱藏字段的值,該複選框,當它是張貼回來 - 是否有可能與我已經呈現的標準HTML?

我已經寫過jQuery,可以使用這個標記,但它確實需要一個帶有值的標準html複選框 - 而不是ASP.NET呈現的複選框。

如果無法從標準html輸入中檢索該值,我是否需要將其重寫爲複合控件,或者是否存在其他技巧?

回答

2

Request對象的Form屬性包含當前請求的所有表單元素的值。

string key = ...; // "name" attribute of the form element 
string val = Request.Form[key]; 
+0

你是絕對正確的,但拋出我的是我的複選框值爲空。但當然,它是空的原因是,如果未選中複選框,則不會發布該值。呃....現在我只需要另一個隱藏的領域.... – Colin 2010-10-22 16:39:51

相關問題