我在Vista Ultimate 32 SP1上运行VS 2008 SP1上的.NET 3.5 Web应用程序.我在默认网站下创建了一个应用程序.所以应用程序的URL是" http:// localhost/mysite ".应用程序文件夹指向解决方案文件夹,它位于iisroot文件夹之外.IIS7中为此Web应用程序"mysite"启用了匿名和集成身份验证(Windows).
我将"网络服务"用户的完全权限授予了应用程序文件夹(位于iisroot之外).
当我按F5进行星型调试时,我得到"无法在Web服务器上开始调试.Web服务器无法找到所请求的资源." 错误.
我启动了TcpView(Sysinternals)以查看实际运行的应用程序并在该端口上保留句柄,我发现没有应用程序正在侦听该端口.这真的很奇怪......有什么创意吗?
我可以毫无问题地点击URL" http:// localhost/mysite ".该Web应用程序设置为启动项目,Default.aspx是启动页面.
该项目中还有一个.asmx服务.Default.aspx正在使用该asmx服务.AutoCompleteExtender(来自AJAX Control Toolkit)正在使用此asmx服务.
一切顺便.问题是调试...我怀疑asmx服务导致了这个但我不知道.这让我疯狂......
我设置了搜索路线:
routes.MapRoute(
"Search",
"Search/{q}",
new { controller = "Search", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud)
搜索表单有一个输入框和一个按钮.我希望使用GET进行搜索,如下所示.
<% using(Html.BeginForm("Index", "Search", FormMethod.Get))
{%>
<%:Html.TextBox("q")%>
<span class="query-button">
<input type="submit" value="select" /></span>
<% } %>
</div>
Run Code Online (Sandbox Code Playgroud)
SearchController上的操作是:
public ActionResult Index(string q)
{
// search logic here
return View(new SearchResult(q));
}
Run Code Online (Sandbox Code Playgroud)
URL变成这样: http:// localhost:19502/search?q = mvc + is + great
但我希望搜索结果如下: http:// localhost:19502/search/mvc + is + great
如何设置路由或Html.BeginForm