谢谢Stilgar解决了我的问题。 我刚刚创建一个js文件,并在将该文件添加到UserControl后写入所有代码,并在获取此UserControl的html后,我使用$(“#DivID”).html(UserControlHTML); 现在工作。当UserControl加载Ajax时Javascript代码无法工作
大家好;
Im使用Ajax和Webservice加载UserControls。它确定我可以很容易地获得UserControl的HTML代码,但有一个问题。
例如UserControl的html代码就是这样的。
<h3>Header</h3>
<div id="content">
<p>lorem ipsum dolor sit amet...</p>
</div>
<script type="text/javascript">
alert("This is a message");
</script>
<h3>Footer</h3>
的Javascript代码的用户控件的请求的HTML代码
(使用UserControlYukle( “用户控件/ Article.ascx”);)
//This is a function that i request UserControl's html code from WebService
function UserControlYukle(ControlPath) {
PersonalWebPage.Services.LoadUserControl.GetControlHtml(ControlPath, Success, Failed);
}
function Success(result) {
var RsltElem= $get("Icerik");
RsltElem.innerHTML = result;
}
function Failed(error) {
alert(error.get_message());
}
web服务代码(LoadUserControl.asmx)
//This is the code block which is in WebService
//and returning back UserControl's html code.
public string GetControlHtml(string controlLocation)
{
Page page = new Page();
UserControl userControl = (UserControl)page.LoadControl("~/UserControls/" + controlLocation);
userControl.EnableViewState = false;
HtmlForm form = new HtmlForm();
form.Controls.Add(userControl);
page.Controls.Add(form);
StringWriter textWriter = new StringWriter();
HttpContext.Current.Server.Execute(page, textWriter, false);
return textWriter.ToString();
}
当我得到这个html代码并将其插入div的innerHTML。 html看起来应该如此。但是在usercontrol上写的javascript代码不起作用。 它应该让我警觉,但它不是。
您使用[DynamicPopulate(http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/DynamicPopulate/DynamicPopulate.aspx)扩展器来做到这一点?发布更多的服务器端代码会有很大帮助。 – 2010-12-19 12:19:20
我添加了整个场景中所有情感的代码。 – 2010-12-19 12:26:48