crerate ajax发布回servercontrol [英] crerate ajax post back on servercontrol
本文介绍了crerate ajax发布回servercontrol的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何在servercontrol上创建ajax postback?我找到此代码在ClientControl上创建ajax postback.我想使用服务器控件Button而不是"LookUpButton"客户端控件?
How i can crerate a ajax post back on servercontrol?i find this code to create ajax Postback on ClientControl.I want use a server control Button instead of "LookUpButton" client control?
<head id="Head1" runat="server">
<title>Client Callback Example</title>
<script type="text/ecmascript">
function LookUpStock() {
var lb = document.getElementById("ListBox1");
try
{
var product = lb.options[lb.selectedIndex].text;
CallServer(product, "");
}
catch(err)
{
alert("Please select a product.");
}
}
function ReceiveServerData(rValue) {
document.getElementById("ResultsSpan").innerHTML = rValue;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ListBox ID="ListBox1" Runat="server">
<br />
<br />
<input type="button" value="Look Up Stock" id="LookUpButton" önclick="LookUpStock()" />
<br />
<br />
Items in stock: <span id="ResultsSpan" runat="server">
<br />
</div>
</form>
</body>
public partial class ClientCallback : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
{
protected System.Collections.Specialized.ListDictionary catalog;
protected String returnValue;
protected void Page_Load(object sender, EventArgs e)
{
string cbReference =
Page.ClientScript.GetCallbackEventReference(this,
"arg","ReceiveServerData","context");
string callbackScript;
callbackScript = "function CallServer(arg, context)" +
"{ " + cbReference + ";}";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
"CallServer", callbackScript, true);
catalog = new System.Collections.Specialized.ListDictionary();
catalog.Add("monitor", 12);
catalog.Add("laptop", 10);
catalog.Add("keyboard", 23);
catalog.Add("mouse", 17);
ListBox1.DataSource = catalog;
ListBox1.DataTextField = "key";
ListBox1.DataBind();
}
public void RaiseCallbackEvent(String eventArgument)
{
if (catalog[eventArgument] == null)
{
returnValue = "-1";
}
else
{
returnValue = catalog[eventArgument].ToString();
}
}
public String GetCallbackResult()
{
return returnValue;
}
}
推荐答案
您可以像这样在服务器控件上调用JS函数,在页面的PageLoad中使用此函数
You can call JS function on server control like this,use this on PageLoad of the page
ControlID.Attributes.Add("javascript: onclick,"return LookUpStock()");
将Javascript函数"LookUpStock()"
分配给Server Control的"OnClientClick"
事件,如下所示.
Assign Javascript function"LookUpStock()"
to"OnClientClick"
event of Server Control as below.
<asp:Button id="btnTest" OnClick="btnTest_OnClick" OnClientClick="LookUpStock()"
Text="Test" runat="server" />
这篇关于crerate ajax发布回servercontrol的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文