C# 如何在ASP.NET MVC3中使用参数路由URL
我是ASP MVC3的新手。 我需要将参数从我的视图传递给控制器 viewgrid.aspxC# 如何在ASP.NET MVC3中使用参数路由URL,c#,asp.net-mvc-3,url-routing,url-parameters,C#,Asp.net Mvc 3,Url Routing,Url Parameters,我是ASP MVC3的新手。 我需要将参数从我的视图传递给控制器 viewgrid.aspx <form id="form1" runat="server"> <h3> GridView DataBind </h3> <asp:Label ID="Message" ForeColor="Red" runat="server" /> <br /> <asp:GridView
<form id="form1" runat="server">
<h3>
GridView DataBind
</h3>
<asp:Label ID="Message" ForeColor="Red" runat="server" />
<br />
<asp:GridView ID="GridView1" runat="server" CssClass="Grid" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="IdGroupe" HeaderText="Group ID" />
<asp:BoundField DataField="IdFichier" HeaderText="File ID" />
<asp:BoundField DataField="NomFichier" HeaderText="File Name" />
<asp:BoundField DataField="DateHeureAjout" HeaderText="Adding Date" />
<asp:HyperLinkField Text="Download" DataNavigateUrlFields="IdFichier,IdGroupe" DataNavigateUrlFormatString="~\Home\Download.aspx?IdF={0}&IdG={1}"
HeaderText="Click To Download" Target="About" />
</Columns>
</asp:GridView>
</form>
Site.master
<div id="Div1">
<ul id="Ul1">
<li>
<%: Html.ActionLink("Home", "Index", "Home")%></li>
<li>
<%: Html.ActionLink("About", "About", "Home")%></li>
<li>
<%: Html.ActionLink("Home", "viewgrid", "Home")%></li>
<li>
<%: Html.ActionLink("Home", "Download", "Home", new{iIdF={0}&IdG={1}})%></li>
</ul>
</div>
-
-
-
-
但是我的服务器无法识别传递的url,我知道这是一个路由问题,但我找不到解决方案。由于HttpPost属性,您的下载操作将仅处理POST请求:
[HttpPost]
public ActionResult Download(string IdF, string IdG)
ActionLink生成链接。单击链接时,浏览器发送GET请求。删除[HttpPost]属性以处理GET请求。在连接字符串中编辑掉您的密码。您的查询易受SQL注入攻击。谢谢,我只是忘记了它。请确保视图中的参数名称,您写的是“iIdF”,它应该是“IdF”。移除大括号{0}为“0”@mohamed farrag,我期望的是当我点击下载链接时,我的页面应该重定向到Home controller中的下载操作并下载请求的文件否,你应该用模型中的一些实际值替换{0}和{1}。我只是替换了它,但没有机会正确呈现链接(检查生成的网页源)?当你点击它时会发生什么?通常当我点击那个链接时,我的文件会被下载,我会被重定向到索引操作,但这里什么都没有发生我在同一个页面,没有下载发生。你检查了为链接生成的真实url吗?正确吗?当你在浏览器中导航到那个url时会发生什么?
[HttpPost]
public ActionResult Download(string IdF, string IdG)