负载的web表单320交织的div
你好如何可以装入Web表单内的一个网页形式DIV/负载的web表单320交织的div
SO我有开口的主页内web表单“帐户”。
在我的帐户Web窗体我有我想要的菜单,当用户点击它加载帐户页面内的另一个Web窗体。
我正在使用ASP.NET C#。
对不起我的坏英文。
感谢
回答:
如果你想通过加载用户控件的实例到您的形式与实际的页面做这个服务器端可以完成此。 Click here to see an MSDN example并确保使用更新面板来管理帖子后台。
如果你想这样做,客户端就可以通过AJAX做,并调用一个ASHX(处理程序文件) 要管理此客户端:你的aspx文件中
添加以下内容:
内头
<script type="text/javascript"> $(function() {
$("#panel").hide();
});
$(document).ready(function() {
$(".slide").click(function() {
$("#panel").show("slow", false);
jQuery.ajax({
type: "POST",
url: "controlloader.ashx",
dataType: "html",
success: function (response) {
jQuery('#loadcontrol1').append(response);
},
error: function() {
jQuery('#loadcontrol1').append('error');
}
});
});
});
</script>
再内主体
<body> <form id="form1" runat="server" >
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<div id="panel" >
<p>stuff here</p>
</div>
<p><%= DateTime.Now %></p>
<div id="div1" class="slide">
<p class="btn-slide">Expand Panel</p>
</div>
<br />
<asp:Button Text="Click me" ID="clickButton" runat="server" />
<div id="loadcontrol1" />
</div>
</form>
</body>
那么你的ashx文件
public class controlloader : IHttpHandler {
//If annonymous id is turned on IRequireSessionState Interface may be needed to write session variabled such as user auth.
// Generic handlers by default implementIReadOnlySessionState
public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write(RenderPartialToString("~/Control1.ascx")); ;
}
private string RenderPartialToString(string controlname)
{
Page page = new Page();
Control control = page.LoadControl(controlname);
page.Controls.Add(control);
StringWriter writer = new StringWriter();
HttpContext.Current.Server.Execute(page, writer, false);
return writer.ToString();
}
public bool IsReusable
{
get
{
return false;
}
}
}
内您还需要创建用户控制文件,但我会留给代码给你。 在这个例子中发生了一些事情。该按钮用于检测后备,以确保控制不会重新加载。我还添加了一个你不需要的动画,但是这是一段时间以前的概念验证片,所以你可以忽略那些代码。
我知道你提到的母版页的用户,因此您将很可能想的JavaScript分解出到一个js文件,然后确保在使用脚本管理器来加载它:
<asp:ScriptManager ID="ScriptManager1" runat="server"> <Scripts>
<asp:ScriptReference Path="~/js/jquery-1.7.js" />
<asp:ScriptReference Path="~/js/yourcontrolloader.cs" />
</scripts>
</asp:ScriptManager>
这是在使用母版页时需要,否则由于服务器端渲染引用将会丢失,并且脚本从不会调用。您也可以在实际页面与主页面中使用部分引用,但这取决于您。
祝你好运
以上是 负载的web表单320交织的div 的全部内容, 来源链接: utcz.com/qa/265093.html