我想創造這個網址blah.com/preview?h=yes
需要在MVC中傳遞查詢字符串變量,所以我可以使用它與jQuery?
這樣我就可以做到這一點
<% if request.querystring("h") = "yes" then %>
jquery stuff
<% else %>
don't do jquery stuff
<% end if %>
我想創造這個網址blah.com/preview?h=yes
需要在MVC中傳遞查詢字符串變量,所以我可以使用它與jQuery?
這樣我就可以做到這一點
<% if request.querystring("h") = "yes" then %>
jquery stuff
<% else %>
don't do jquery stuff
<% end if %>
你可以使用HTML幫助:
<%= Html.ActionLink(
"some text",
"someaction",
"somecontroller",
new { h = "yes" },
null
) %>
假設默認路由,這將產生以下鏈接:
<a href="/somecontroller/someaction?h=yes">some text</a>
或者如果喲您只想生成您可以使用Url助手的鏈接:
<%= Url.Action(
"someaction",
"somecontroller",
new { h = "yes" }
) %>
在您的視圖模型上設置一個屬性,您可以檢查該屬性。
E.g. 視圖模型
public class SomeActionViewModel
{
public bool DoJquery { get; set; }
}
行動(通過http://www.myawesomesite.com/somecontroller/someaction?h=yes
稱呼)
public ActionResult SomeAction(string h)
{
var viewModel = new SomeActionViewModel();
if (!string.IsNullOrWhiteSpace(h) && (h.ToLower() == "yes"))
viewModel.DoJquery = true;
return View(viewModel);
}
查看
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<SomeActionViewModel>" %>
<% if (ViewModel.DoJquery) { %>
<!-- Do jQuery -->
<% } else { %>
<!-- Don't do jQuery -->
<% } %>
HTHS,
查爾斯
你確定你需要像從服務器那樣做嗎?
您可以改爲遵循Unobtrusive Javascript/Progressive Enhancement的方法。
id喜歡在aspx頁面上執行上面的代碼 – Roberto 2010-10-04 15:32:14
你的問題是什麼? – 2010-10-04 15:35:10