簡體   English   中英

處理ASP.NET中的傳入請求URL

[英]Handling Incoming Request URLs in ASP.NET

目前正在嘗試擴充現有ASP.NET站點的搜索。 我的背景是Java,所以如果我用Java編寫服務器,我可以將傳入的請求作為字符串處理,然后根據需要解析它,取出搜索條件等。

ASP的哪個部分處理? 我應該在哪里尋找傳入字符串被拆分以處理搜索請求的位置? 有一個搜索按鈕,可將頁面重定向到包含搜索參數的URL。 這就是我的路徑變冷,因為我需要知道它回到服務器的哪個位置。

例如,一旦您審核了搜索字詞,就會像這樣提交:

Response.Redirect("~/shop?" + type + "=" + searchBoxContent);

'type'是搜索的類型,因此可以基於品牌或在產品描述中搜索等。

該網站已經在使用某種類型的網址重寫,因為當您進行搜索時,網址不會顯示任何.aspx。 我應該查看配置文件或.master.cs文件,還是指向正確的方向?

最簡單的系統是ASP.NET MVC,它有一個內置的Route和參數處理程序。

有關文檔,請參閱MSDN

例:

{controller}/{action}/{id}

可以重定向到Controller操作:

public ActionResult Find(int id)
{ ... }

如果這不是您想要的,請查看Scott Guthrie關於URL重寫的博客文章

如果您有這樣的網址:

/shop.aspx?type=abc

然后你可以使用Request.QueryString獲取type的值。 這是語法:

Request.QueryString["type"]

例如,如果您想在第一次加載/shop.aspx?type=abc時獲取值,那么您應該在后面的代碼( shop.aspx.cs )中的Page_Load方法中添加此代碼:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // assign 'type' query string to typeOfSearch
        string typeOfSearch = Request.QueryString["type"];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM