我是相當新的ASP.NET和C#,我有我的路由的一些問題。希望有人能幫助我。C#ASP.NET MVC 2基本的路由
用戶應該給出3個參數(string
,bool
,bool
)。 所以,我有我的索引頁上的一個小表格:
<% using (Html.BeginForm("search", "Home")) { %>
<label >Name: </label><br />
<input type="text" id='ml' name='ml' /><br />
<label >Sort members alphabethic? </label> <input type="checkbox" id='sortalph' name='sortalph' /><br />
<label >Number the list? </label><input type="checkbox" id='number' name='number' /><br />
<input type="submit" value='Submit'/>
<% } %>
Global.asax.cs
設置是這樣的:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index"} // Parameter defaults
);
routes.MapRoute(
"Search", // Route name
"{controller}/{action}/{ml}/{sortalph}/{number}", // URL with parameters
new { controller = "Docent", action = "Search" } // Parameter defaults
);
的Search
方法在我HomeController
開始看起來是這樣的:
public ActionResult Search(string ml, bool? sortalph, bool? number)
{
if (sortalph == null)
{
sortalph = false;
}
if (number == null)
{
number = false;
}
當調試sortalph
和number
總是null
。我不知道爲什麼。
只是好奇:你爲什麼使用空值? –
@丹,我用nullables太頻繁,這樣我就可以缺少一個乾淨的URL /後與參數之間區分(因此使用默認,可能是「真」),當它實際上是通過故意「假」或' 0'而無需諮詢價值提供商 –