PDA

View Full Version : اضافه کردن کنترل ASPيا تغيير property کنترل بدون Refresh صفحه



prince-of-persia
پنج شنبه 30 اردیبهشت 1389, 14:45 عصر
براي اضافه کردن کنترل هاي استاندارد ASP يا تغيير property کنترلي که در زمان طراحي در صفحه قرار گرفته بايد چکار کرد؟

مثلا من يک دکمه HTML دارم که مي خوام وقتي روش Click کردم يک TEXTBOX ASP به صفحه اضافه بشه بدون اينکه صفحه Refresh بشه يا اينکه مقدار داخل اين TExtBox تغيير کنه

در ضمن من نبايد از UpdatePanel استفاده کنم

کد نمونه هم دارم که يک NonStatic Method رو صدا مي زنه و بايد مقدار رو تغيير بده (که اينطور نميشه)



<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebForm1" %>
<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html >
<head id="Head1" runat="server">
<title>Client Callbacks</title>
<script runat="server">
public void RaiseCallbackEvent(String eventArgument)
{
// Processes a callback event on the server using the event
// argument from the client.
}

public string GetCallbackResult()
{
// Returns the results of a callback event to the client.
string dateString = DateTime.Now.ToLongDateString();

return dateString;

}

void Page_Load(object sender, EventArgs e)
{
ClientScriptManager cm = Page.ClientScript;
String cbReference = cm.GetCallbackEventReference(this, "arg",
"ReceiveServerData", "");
String callbackScript = "function CallServer(arg, context) {" +
cbReference + "; }";
cm.RegisterClientScriptBlock(this.GetType(),
"CallServer", callbackScript, true);

TextBox1.Text = (Convert.ToInt32(TextBox1.Text) + 1).ToString();
}

</script>
<script type="text/javascript">
function ReceiveServerData(arg, context) {
Message.innerText = "Date from server: " + arg;
}
</script>
</head>
<body>
<h2>Client Callbacks Without Postbacks</h2>
<form id="form1" runat="server">
<input type="button" value="Callback"
onclick="CallServer('1', alert('Callback sent to Server'))" />
<br />
<asp:TextBox ID="TextBox1" runat="server" Text="1"></asp:TextBox>
<span id="Message"></span>
</form>
</body>
</html>