我有一個小的網絡應用被寫在ASP.NET,VB.NET的URL的目標頁,.NET 3.5通過querstring傳遞價值,而不顯示與ASP.NET Web窗體
我通過從價值使用查詢字符串的default.aspx到demo.aspx。當點擊Go按鈕的URL將是這樣的:本地主機/ demo.aspx ID = 4
但我想網址爲某事像這樣被點擊Go按鈕時:??本地主機/ ID = 4並將id值傳遞給demo.aspx,以便顯示預期的結果。如何在不使用路由技術的情況下儘可能完成這項工作。
我有一個小的網絡應用被寫在ASP.NET,VB.NET的URL的目標頁,.NET 3.5通過querstring傳遞價值,而不顯示與ASP.NET Web窗體
我通過從價值使用查詢字符串的default.aspx到demo.aspx。當點擊Go按鈕的URL將是這樣的:本地主機/ demo.aspx ID = 4
但我想網址爲某事像這樣被點擊Go按鈕時:??本地主機/ ID = 4並將id值傳遞給demo.aspx,以便顯示預期的結果。如何在不使用路由技術的情況下儘可能完成這項工作。
是這樣的嗎?
protected void btnGo_Click (Object sender, EventArgs e)
{
Response.Redirect("localhost/?" + Request.QueryString);
}
不知道什麼時候你想改變網址嗎?不知道路由技術是什麼。抱歉。
只有當Web服務器認爲demo.aspx是默認文檔時,這纔會起作用。當您在不指定頁面名稱的情況下加載頁面時(例如localhost /?id = 4示例),Web服務器將定位具有預定義名稱的文件並將其用作默認文檔。通常這個文件叫做default.aspx(或.asp,.htm,.html,.php或類似的東西)。所以,如果你想加載任何其他頁面,你需要聲明名稱,或使用URL重寫技術。
在這種情況下,它是不一樣的頁面。所以我需要重寫URL。 – 2009-04-30 04:18:01
如果您希望它與回發一起工作,您仍然需要確保Web服務器配置了默認文檔,如default.aspx。
in 3.5 sp1 MS終於允許我們設置表單的action屬性。
因此,init你可以明確的設置,現在
Form1.Action = "/mydirectory/"
買者頁:IIS的某些版本不允許張貼到一個目錄。 (XP IIS爲例)
公衆的Page_Load(對象發件人,EventArg E) {
if(!string.IsNullOrEmpty(Request["id"]))
{
// Using Server.Transfer() function to call Demo.aspx page.
// Client still see "localhost/?id=[id]" at address bar.
Server.Transfer("Demo.aspx?id=" + Request["id"]);
}
}
增加了幾個標籤可能擴大觀衆 – 2009-04-30 04:14:57