【发布时间】:2011-05-27 20:07:36
【问题描述】:
感谢 Stilgar 解决了我的问题。 在我将此文件添加到 UserControl 之后,我只是创建一个 js 文件并将我的所有代码写入其中,并且在我得到这个 UserControl 的 html 之后,我使用 $("#DivID").html(UserControlHTML); 它现在可以工作了。
大家好;
我正在使用 Ajax 和 Webservice 来加载用户控件。没关系,我可以轻松获取 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>
请求用户控件的html代码的Javascript代码
(使用 UserControlYukle("UserControls/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 看起来应该。但是写在用户控件上的javascript代码不起作用。 它应该提醒我,但事实并非如此。
【问题讨论】:
-
您是否使用DynamicPopulate 扩展器来执行此操作?发布更多的服务器端代码会有很大帮助。
-
我添加了所有在整个场景中有效的代码。
标签: javascript asp.net html ajax