【问题标题】:Simple Example of Custom ASP.NET Server Control with JavaScript?使用 JavaScript 自定义 ASP.NET 服务器控件的简单示例?
【发布时间】:2013-04-19 00:48:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net custom-server-controls


    【解决方案1】:

    你在实现 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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 2010-12-15
      相关资源
      最近更新 更多