我可以在ASP.NET中检索标准输入的值吗?

时间:2010-10-22 15:35:29

标签: asp.net rendering custom-server-controls

我在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输入中检索值,我是否需要将其重写为复合控件,还是有其他技巧?

1 个答案:

答案 0 :(得分:2)

Request对象的Form属性包含当前请求的所有表单元素的值。

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