gpt4 book ai didi

javascript - 使用服务器生成的 javascript 调用回发

转载 作者:行者123 更新时间:2023-12-02 17:11:31 24 4
gpt4 key购买 nike

我在 ASP.NET 中有一个日历控件,如下所示...

<asp:Calendar ID="Calendar1" EnableViewState="False" OnDayRender="Calendar_DayRender"    OnSelectionChanged="Cal_SelectionChanged"
FirstDayOfWeek="Default" ShowNextPrevMonth="False" SelectionMode="Day" TitleFormat="MonthYear"
runat="server"></asp:Calendar>

然后,我有一些服务器端 asp/vb.net 代码,将一些文本和 javascript 附加到单元格中,该单元格具有在进一步的方法中找到的值。

Sub Calendar_DayRender(ByVal s As Object, ByVal e As DayRenderEventArgs)
e.Cell.Text = "<table " onclick=""javascript:__doPostBack('cal1','" & strID & "')""" & " ><tr valign=""top""><td>" & e.Day.Date.Day & "</td></tr><tr><td align=""left"">" & strCount & "</td></tr></table>"

结束子

然后我有以下绑定(bind)到日历控件的事件处理程序。

Protected Sub Cal_SelectionChanged(ByVal s As Object, ByVal e As EventArgs)
lblSelectedDate.Text = "Invoked Method"
End Sub

我正在尝试从强制 javascript 方法调用上述方法。它工作得很好,直到我更改了软件并引入了母版页。现在却一点也不喜欢了。我想知道是否有人遇到过这个问题以及他们的解决方法是什么。

最佳答案

添加母版页后,JavaScript 端呈现的 id 发生了变化,并且与您在后台代码中使用的控件 id 不同。

要解决此问题,请使用 Calendar1.ClientID代码,如<%=Calendar1.ClientID%>如果您在页面上呈现。

或者直接使用Calendar1.ClientID如果您在代码隐藏中使用它。

并更改"Calendar1"Calendar1.ClientID

例如这一行可能是

e.Cell.Text = "<table " onclick=""javascript:__doPostBack('"
& Calendar1.ClientID & "','" & strID & "')""" & ...

我希望我所说的很清楚。

关于javascript - 使用服务器生成的 javascript 调用回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24780855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com