【发布时间】:2013-08-07 09:12:26
【问题描述】:
我在 Razor 模板中有一个搜索框:
@{
using (Html.BeginForm("Detail", "Book", FormMethod.Get))
{
@Html.TextBox("Id")
<input type="submit" value="Search" />
}
}
当我提交搜索时,它会转到如下网址:
~/Book/Detail?Id=1234
但是我希望它像这样格式化 url,只是因为我认为它看起来更干净:
~/Book/Detail/1234
效果很好,因为控制器方法签名如下所示:
// GET: /Book/Detail/id
public ActionResult Detail(string id)
带有 TextBoxFor 的模型
我试过Html.TextBoxFor:
@model WebApplication.Models.SearchModel
@{
using (Html.BeginForm("Detail", "Book", FormMethod.Get))
{
@Html.TextBoxFor(m => m.Id)
<input type="submit" value="Search" />
}
}
同样的结果。
【问题讨论】:
-
你能告诉我,生成这个 url 的目的是什么?您是要传递这些值还是要转到那条路线?
-
@PandiyanCool 两个 url 的工作方式相同,并调用控制器操作
Detail。我只是更喜欢第二个的外观。 -
哦,好吧:)你想实现更清洁的吗?
标签: c# razor asp.net-web-api