使用JavaScript自定义ASP.NET服务器控件的简单示例?

时间:2013-04-19 00:48:27

标签: asp.net custom-server-controls

我一直在尝试创建一个可以让我利用ViewState和AutoPostBack的自定义服务器控件,但没有成功。棘手的是我的控件是HTML和JavaScript的组合。这是渲染输出的一个很好的例子(我也使用了JS库,因此是缩写示例):

<input type="text" id="txt" />
<script>
$(function() {
    $("#txt").TurnMeIntoDatePicker({
        value: new Date(1950,1,1)
    });
});
</script>

在此示例中,输入的“id”和JS函数的“value”需要作为参数公开(并且在通过ViewState回发后维护它们的值)。我见过的每个例子都允许你为input元素分配参数,但不能给JS的一些自定义字符串赋值。我也很想知道如何添加AutoPostBack功能,但只会是肉汁!

1 个答案:

答案 0 :(得分:2)

您是否正在实施IPostBackDataHandler?您可以使用它从回发的输入字段中检索值。此外,您的示例未在输入字段中显示名称...您需要输出名称才能正确回发该值。在这里查看样本......

http://msdn.microsoft.com/en-us/library/system.web.ui.ipostbackdatahandler.aspx

您可以使用Page.ClientScript.GetPostBackEventReference(...)执行AutoPostBack。例如,如果您想在值更改时进行回发,则可以渲染如下内容:

protected override void Render(HtmlTextWriter writer)
{
    string content = string.Format("<input type=\"text\" id=\"txt\" onchange=\"{0}\" />", Page.ClientScript.GetPostBackEventReference(this, null));
    writer.Write(content);
}