当控件位于内容页面上的更新面板中时更新母版页。我很努力,但没有成功?

时间:2013-12-09 08:24:07

标签: asp.net updatepanel ajaxcontroltoolkit site.master

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

    Master.settxtvalue.Text = Me.TextBox1.Text
    Me.Button1 = TryCast(Me.Master.FindControl("mdlpp").FindControl("Button1"), Button)

End Sub


Public ReadOnly Property settxtvalue() As TextBox
    Get
        Return Me.TextBox18
    End Get
End Property

1 个答案:

答案 0 :(得分:1)

你不能直接这样做,你必须使用ScriptManager.RegisterStartupScript()函数,它将注入将在更新面板获得更新时执行的java脚本语句。并添加java脚本语句以查找要更新的元素并将其设置为值。

如下面的c#代码将其转换为VB并使用

string strUpdate = "document.getElementById('" + Master.settxtvalue.ClientID + "').value = '" + Me.TextBox1.Text + "'";
ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "msupdate", strUpdate, true);

这里UpdatePanel1是您更新面板ID。替换代码的以下行

Master.settxtvalue.Text = Me.TextBox1.Text

用它。

这是VB版

Dim strUpdate As String = ("document.getElementById('" + Master.settxtvalue.ClientID & "').value = '") + [Me].TextBox1.Text & "'"
ScriptManager.RegisterStartupScript(UpdatePanel1, Me.[GetType](), "msupdate", strUpdate, True)