asp.net-mvc – Razor MVC4 Url.Action无效
|
我在剃刀视图中有如下代码 <a href="@Url.Action("Details","Mycontr",new {id =16},Request.Url.Scheme)">
当我双击这个项目时,它被重定向到Url下面 http://localhost:49280/Mycontr/Section/@Url.Action( 但是预期的却是 http://localhost:49280/Mycontr/Details/16 以下是RouteConfig routes.MapRoute(
name: "Capsule",url: "Mycontr/Details/{id}",defaults: new { controller = "Mycontr",action = "Details",id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Section",url: "Mycontr/Section/{id}",action = "Section",id = UrlParameter.Optional }
);
请建议. 我缩小了这个问题. Html.Raw导致问题.我有类似的代码 @Html.Raw(HttpUtility.HtmlDecode(Model.sContent)) 该变量包含生成的具有Ur.Action的html.如果我只是直接将html生成的代码放在razor视图中而不使用Html.Raw它工作正常.但是,如果我拿出Html.Raw运行时生成的html脚本显示为 <style type='text/css'></style><center><div style="width:460px;"><div style="width: 460px; float: left;"><div s... 有没有办法可以在不使用Html.Raw编码的情况下在变量中显示html脚本? 下面是我一直在努力使其工作的最新代码.请帮忙. string templFile = string.Format("{0}DivTemplate.htm",path);
HtmlDocument divDoc = new HtmlDocument();
StreamReader sRdr = new StreamReader(templFile,Encoding.UTF8);
divDoc.Load(sRdr);
XmlNodeList divs = regions.ChildNodes;
IEnumerator enmrDivs = divs.GetEnumerator();
while (enmrDivs.MoveNext())
{
XmlNode node = (XmlNode)enmrDivs.Current;
string divId = node["DivId"].InnerText;
string capId = node["CapsuleId"].InnerText;
HtmlString sUrlAct = new HtmlString("@Url.Action("Capsule","Publication",new { id=""+capId+"" }))");
//string sUrlAct = "@Url.Action("Capsule",new { id=""+capId+""})";
string divFile = string.Format("{0}{1}.htm",path,divId);
HtmlDocument divRgnDoc = new HtmlDocument();
StreamReader sR = new StreamReader(divFile,Encoding.UTF8);
divRgnDoc.Load(sR);
foreach (HtmlNode link in divRgnDoc.DocumentNode.SelectNodes("//a[@href]"))
{
link.Attributes.RemoveAll();
link.Attributes.Add("href",sUrlAct.ToString());
}
HtmlNode divNode = divDoc.GetElementbyId(divId);
divNode.AppendChild(divRgnDoc.DocumentNode.FirstChild.CloneNode(true));
sR.Close();
}
sContent = new HtmlString (divDoc.DocumentNode.InnerHtml);
sRdr.Close();
解决方法我知道它有点晚了,但是当我在搜索某些东西时,我遇到了这个帖子.在您的代码中,问题在于您的锚标记和双引号. <a href="@Url.Action("Details",Request.Url.Scheme)">
您在技术上告诉解析器您引用了“URL”(双引号)之间的超链接,这意味着href是@ Url.Action(.您可以这样做(使用单引号分配您的href)并希望它有效 <a href='@Url.Action("Details",Request.Url.Scheme)'>
现在你href将是@ Url.Action(“详细信息”,“Mycontr”,新{id = 16},Request.Url.Scheme) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 通过WCF服务实现寻呼机
- asp.net – 如何在MVC 5中为OwinContext设置TimeOut
- asp.net-mvc – 如何持久保存用户选择(例如:主题选择)
- asp.net – 在剃刀中等同于End / Response.End?
- .net – 多选列表框中的预选项目(MVC3 Razor)
- asp.net-mvc – 如何将IoC成员资格提供程序与ASP.NET MVC集
- asp.net – AJAX和FormsAuthentication,如何防止FormsAuthe
- ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
- 复合视图模型对象导致远程验证失败
- asp.net-mvc – 在Global.asax中注入依赖项
- 在ASP.NET MVC视图中渲染HTML文件?
- 如何在ASP.NET中动态生成列表项到无序列表?
- asp.net – 如何从SQL Server 2008本身获取客户端
- 确定asp.net中的转发器行数
- asp.net – 使用jquery调用webmethod时始终获得“
- asp.net-mvc – EditorTemplates / Object.cshtm
- asp.net-mvc-3 – 使用Html.EditorFor为新记录创
- 从ASP.Net Web服务json输出中删除“d”对象
- asp.net – 全局ASAX中的错误:文件不存在
- asp.net-mvc – 是否有官方的ASP.NET MVC参考/示
