我正在使用< div onclick =“”“>调用服务器端。当用户点击< div>时,如何避免整页刷新?
这是我的编码。
HTML
<asp:UpdatePanel ID="updatePanel1" runat="server"> <ContentTemplate>
<div id ="cde" runat="server" style="background-color: #00FFFF" > </div>
<asp:Label ID="Label1" runat="server" Text="Label"> </asp:Label>
</ContentTemplate> </asp:UpdatePanel>
服务器端
protected void Page_Load(object sender, EventArgs e)
{
//--Register for div onclick function --
cde.Attributes["onclick"] = ClientScript.GetPostBackEventReference(this, "divMember_Click");
//**Register for div onclick function**
}
protected void divMember_Click()
{
this.Label1.Text = System.DateTime.Now.ToString();
}
public void RaisePostBackEvent(string eventArgument)
{
if (!string.IsNullOrEmpty(eventArgument))
{
if (eventArgument == "divMember_Click")
{
divMember_Click();
}
}
}
我尝试将标签放在更新面板中。但是回发仍然会发生。如何在没有完整页面重新加载的情况下刷新标签?
答案 0 :(得分:0)
将div和Label放入UpdatePanel
答案 1 :(得分:0)
试试这种方式,
将您的标签保留在更新面板ID“Updatepanel1”中,并带有以下属性
Update Mode : Conditional
EnableViewState : true(if you are using it)
答案 2 :(得分:0)
你可以使用Jquery .ajax函数或pagemethod.YourWebMethod。
在C#代码中创建Web方法,并使用这两个函数调用它。
您可以在脚本管理器中通过EnabledPageMethod =“true”执行Page Method,并使用Jquery .ajax函数放置jquery java脚本。
这将在代码后面的页面上创建(创建Web方法):
public partial class _Default : Page
{
[WebMethod]
public static string GetDate()
{
return DateTime.Now.ToString();
}
}
在Default.aspx中引用,这是java脚本:
$(document).ready(function() {
// Add the page method call as an onclick handler for the div.
$("#Result").click(function() {
$.ajax({
type: "POST",
url: "Default.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Replace the div's content with the page method's return.
$("#Result").text(msg.d);
}
});
});
});
<head>
<title>Calling a page method with jQuery</title>
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="Default.js"></script>
</head>
<body>
<div id="Result">Click here for the time.</div>
</body>
答案 3 :(得分:0)
您需要在页面上显示一个asp:ScriptManager才能使用UpdatePanel。请参阅here。