我在按钮点击时将html div包含按钮和javascript注入Ektron小部件。但是当我点击注入按钮时,不调用javascript函数。如果我在Ektron小部件的Page_Load中注入脚本,则java脚本函数正在调用完美。
请检查一下。
Default.ascx.cs
public partial class Workarea_Widgets_test : WorkareaWidgetBaseControl, IWidget
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
HtmlDiv.InnerHtml = "<div id='divid'>Name :<input type='button'
id='Name' name='Name' value='Injected Button' onclick='return test();'/>
</div><script type='text/javascript' >function test()
{alert('test passed!');} </script>";
HtmlDiv.Style.Add("display", "block");
}
}
Default.ascx
<div id="Div1" runat="server" class="HtmlDiv" style="display:block" >
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
<div id="HtmlDiv" runat="server">
</div>
如果我在小部件的页面加载中使用javascript注入html javascript函数正在工作。如果它在按钮中单击它不起作用。
我尝试使用aspx页面编写此代码,它工作正常....
Ektron Widget是否存在依赖关系。
任何人都请回复。
答案 0 :(得分:0)
你有没有理由不只是做这个客户端(JavaScript)?
要回答您的问题,Ektron小部件只是一个ASP.NET Web用户控件。您必须管理Web用户控件的状态,这意味着当您在回发时设置HtmlDiv控件的属性时,您有责任保留这些值。
有关详细信息,请参阅Microsoft的ASP.NET State Management Recommendations,但您的州选项包括:
在这种情况下,查看状态或控制状态最适合您。
但是,我会问你为什么需要这个服务器端。