我无法让这个AJAX在ASP.Net/C#中触发
本文关键字:Net ASP AJAX | 更新日期: 2023-09-27 18:03:54
我正在使用ASP。Net ScriptManager控件。它已经在那一页了。
<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<ContentTemplate>
<asp:Panel ID="cpBox" Visible="false" runat="server">
<!-- jQuery plugin goes here -->
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlColorChart" />
</Triggers>
</asp:UpdatePanel>
c#: protected void ddlColorChart_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlColorChart.SelectedValue == "1")
{
// cpBox.Visible = true;
/* StringBuilder colorPicker = new StringBuilder();
colorPicker.Append("$(document).ready(function() {");
colorPicker.Append("$('#<%=colorPickerBox.ClientID %>').ColorPicker({ flat: true });");
colorPicker.Append("})");
ScriptManager.RegisterStartupScript(colorPickerBox, this.GetType(), "colorPicker", colorPicker.ToString(), true);
*/
}
}
jQuery: <script type="text/javascript"">
$(document).ready(function () {
$('#<%=colorPicker_Box.ClientID %>').ColorPicker({ flat: true });
});
</script>
如您所见,我尝试使用ScriptManager.RegisterStartupScript
。我不能为我的生活弄清楚如何得到jQuery插件显示。我尝试使用jQuery AJAX,但迷路了。
编辑:我知道,如果我保持它在一个常规的div插件工作。一旦我添加'runat="server",'
它停止工作(这是有意义的)。有一种方法,让我完成这使用ASP。Net AJAX没有容器的插件是一个服务器控件?
<%= %>
为服务器代码;JavaScript无法执行它。所以你想从服务器端传递控件的客户端id。
colorPicker.Append("$('#" + colorPickerBox.ClientID " +
"').ColorPicker({ flat: true });");
更新:如果ColorPicker
不是服务器控制,它更容易-
colorPicker.Append("$('#colorPickerBox').ColorPicker({ flat: true });");