如果你想在瀏覽器地址欄中顯示的更新的URL可以讓按鈕點擊回發到服務器,然後你處理TextBox的TextChanged事件。
在TextChanged事件處理程序中建立與改變的查詢字符串參數的新的URL,並使用Response.Redirect將瀏覽器重定向到新的URL。
下面是一個簡單的例子髒。
給定一個文本框和一個按鈕,一個財產以後ASPX頁面這樣
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<script type="text/javascript">
function requery() {
var query = location.search.substring(1);
var pairs = query.split("&");
var param1Value = document.getElementById("txtParam1").value;
url = "/Default.aspx?param1=" + param1Value;
for (var i = 0; i < pairs.length; ++i) {
var pair = pairs[i];
if ((pair.indexOf("param1") != 0) && (pair.length > 0)) {
url += "&" + pair;
}
}
location.href = url;
}
</script>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtParam1" runat="server" OnTextChanged="txtParam1_TextChanged"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Submit" />
<input type="button" value="Client Action" onclick="requery()" />
</div>
</form>
</body>
</html>
後面的代碼來處理文本框的TextChanged事件可以做到以下幾點。
using System;
using System.Text;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txtParam1.Text = Request.QueryString["param1"];
}
}
protected void txtParam1_TextChanged(object sender, EventArgs e)
{
// Build the new URL with the changed value of TextBox1
StringBuilder url = new StringBuilder();
url.AppendFormat("{0}?param1={1}",
Request.Path, txtParam1.Text);
// Append all the querystring values that where not param1 to the
// new URL
foreach (string key in Request.QueryString.AllKeys)
{
if (string.Compare(key, "param1", true) != 0)
{
url.AppendFormat("&{0}={1}", key, Request.QueryString[key]);
}
}
// Redirect the browser to request the new URL
Response.Redirect(url.ToString());
}
}
}
您是否嘗試過'<形式......方法= 「獲取」> ...'?當然命名你的輸入'param1'。 – 2010-07-24 07:08:28
如何解決這個問題?你能告訴我一個完整簡單的樣品嗎? – George2 2010-07-24 07:21:05