如何解决ASP.NET填充列表框而不回发
| 我有一个带有文本框,链接按钮和列表框的简单aspx页面。 将使用来自SQL数据库中存储过程的值填充列表框。 我想通过某种方式在用户单击链接按钮时用这些变量填充列表框。理想情况下,我希望不进行回发。 有什么办法可以实现? 谢谢, 杰森解决方法
我很快就为你嘲笑了。
<form id=\"form1\" runat=\"server\">
<asp:ScriptManager ID=\"ScriptManager1\" runat=\"server\">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID=\"UpdatePanel1\" runat=\"server\">
<ContentTemplate>
<asp:LinkButton ID=\"LinkButton1\" runat=\"server\" onclick=\"LinkButton1_Click\">LinkButton</asp:LinkButton>
<br />
<asp:ListBox ID=\"ListBox1\" runat=\"server\" DataTextField=\"yourdesiredcolumnamegoeshere\"></asp:ListBox>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:SqlDataSource ID=\"SqlDataSource2\" runat=\"server\"
ConnectionString=\"Data Source=;Initial Catalog=;User ID=;password=\"
ProviderName=\"System.Data.SqlClient\"
SelectCommand=\"SELECT [yourdesiredcolumnamegoeshere] FROM [yourtablenamegoeshere]\">
</asp:SqlDataSource>
</form>
关于后面的代码:
protected void LinkButton1_Click(object sender,EventArgs e)
{
ListBox1.DataSource = SqlDataSource2;
ListBox1.DataBind();
}
当然,您可以将SqlDataSource更改为存储的proc,但是当您单击按钮时,它将填充该列表而没有回发。需要帮助请叫我。
-JJ
, 如果您确实不希望发回帖子,那么必须使用javascript或其他方法在客户端上以某种方式完成。如果您希望在不显示回发的情况下完成此操作,则可以使用updatepanel完成此操作。
, 首先,如果您不希望回发,它将变得很复杂。有理由避免回发吗?
但是,如果您不希望回发,则有两种选择:
使用网络方法。在您的页面上创建一个静态方法,并用WebMethod属性装饰它。
另一个IHttpHandler。创建IHttpHandler的实现并覆盖ProcessRequest
对于这两种操作,您都将需要使用AJAX查询服务器(Web方法或http处理程序)。您不能使用MS AJAX,因为它将导致部分回发。使用jQuery进行请求。
请注意,UpdatePanel使用MS AJAX,因此将导致部分回发。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。