如何将css类添加到此actionlink?我已经读过你这样做new { class = button }但我不知道把它放在我的actionlink中:
<%= Html.ActionLink("View Performances", "Details", "Productions",
new { name = item.show , year = item.year }, null) %>
Run Code Online (Sandbox Code Playgroud) 我想用生成Html.ActionLink的HTML ID 生成,这样我就可以根据我的位置更改CSS.我有一MasterPage组链接,我想区分活动的"Tab"和Jquery更改活动的#id的css
现在我正在使用:
<%: Html.ActionLink("Some View", "Index", "controller")%>
Run Code Online (Sandbox Code Playgroud)
它产生:
<a href="/controller">Some View</a>
Run Code Online (Sandbox Code Playgroud)
我想生成:
<a id="something" href="/controller">Some View</a>
Run Code Online (Sandbox Code Playgroud)
那可能吗?我试过了:
<%: Html.ActionLink("Some View", "Index", "controller", new {id="blahbla")%>
Run Code Online (Sandbox Code Playgroud)
但这会产生:
<a href="/controller/Length?5">Some View</a>
Run Code Online (Sandbox Code Playgroud) 在ASP.NET MVC视图中,我想要包含以下形式的链接:
<a href="blah">Link text <span>with further descriptive text</span></a>
Run Code Online (Sandbox Code Playgroud)
试图将<span>元素包含在linkText调用字段中以Html.ActionLink()最终编码(如预期的那样).
有没有推荐的方法来实现这一目标?
我想创建一个像/?name=Macbeth&year=2011我一样的URL ActionLink,我试过这样做:
<%= Html.ActionLink("View Details", "Details", "Performances", new { name = item.show }, new { year = item.year })%>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我该怎么做呢?
我想在applet参数中嵌入一个URL.
我知道自动创建URL的唯一方法是Html.ActionLink(),但我只想要内部HREF属性,而不是整个链接.
有没有另一种方法可以得到我想要的东西,还有其他用于获取属性Regex的输出?ActionLink()HREF
我将以下表放在名为Student(/ Student/Details/1)的控制器中的视图中:
@foreach (var item in Model.Enrollments)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Course.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.Grade)
</td>
</tr>
}
Run Code Online (Sandbox Code Playgroud)
我想将每个表定义变成一个链接,将我带到名为Course(/ Course/Details/1)的控制器中的视图.
我尝试过以下方面的事情:
@Html.ActionLink(Html.DisplayFor(modelItem => item.Course.Title, "Details", "Course"))
Run Code Online (Sandbox Code Playgroud)
代替
@Html.DisplayFor(modelItem => item.Course.Title)
Run Code Online (Sandbox Code Playgroud)
哪个不编译.如何正确显示我的模型标题以及引用标题详细信息的链接?
非常有名的ActionLink:
<%: Html.ActionLink("Back to List", "Index")%>
Run Code Online (Sandbox Code Playgroud)
现在,此链接位于我的详细信息视图中.索引视图是搜索页面.其URL如下所示:
http://localhost:50152/2011-2012/Instelling/Details/76?gemeente=Dendermonde&postcode=92**&gebruikerscode=VVKSO114421&dossiernr=114421%20&organisatie=CLB
Run Code Online (Sandbox Code Playgroud)
如你所见,相当多的参数.显然我想在返回索引页面时保留所有这些参数,所以我需要将它们添加到ActionLink.
现在,我已经厌倦了手动操作,它可以1,但不适用于6.这应该会更容易.
问题:如何将当前URL的所有参数都返回ActionLink为可选RouteValues.
我一直在寻找Request.QueryString.它必须是那样的东西.我在考虑编写一些静态方法Global.asax来完成工作,但还没有运气.也许有一种简单的方法可以做到这一点我不知道?
编辑:这是我想出的(哪个有效)
在global.asax中:
public static RouteValueDictionary optionalParamters(NameValueCollection c) {
RouteValueDictionary r = new RouteValueDictionary();
foreach (string s in c.AllKeys) {
r.Add(s, c[s]);
}
return r;
}
Run Code Online (Sandbox Code Playgroud)
Details.aspx:
<%: Html.ActionLink("Back to List", "Index", MVC2_NASTEST.MvcApplication.optionalParamters(Request.QueryString))%>
Run Code Online (Sandbox Code Playgroud)
我最好把这段代码放在哪里?不是Global.asax我猜...
编辑2:
using System;
using System.Web.Mvc;
namespace MVC2_NASTEST.Helpers {
public static class ActionLinkwParamsExtensions {
public static MvcHtmlString CustomLink(this HtmlHelper helper, …Run Code Online (Sandbox Code Playgroud) 模型SearchResults.aspx是一个实例PersonSearch; 当新页面的请求到达时(GET请求),操作方法应该接受它并计算新结果.
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult SearchResults(PersonSearch search, int? page)
{
ViewData["Results"] = new PaginatedList<Person>(_searchService.FindPersons(search), page ?? 0, 1);
return View("SearchResults", search);
}
Run Code Online (Sandbox Code Playgroud)
然后我必须生成上一个/下一个链接:
<%= Html.ActionLink("Next Page >", "SearchResults", routeValues) %>
Run Code Online (Sandbox Code Playgroud)
如果我使用routeValues = ViewData.Model我可以看到传递地址的对象属性,但我无法添加"page"参数.
是否可以在Html.ActionLink的linkText中使用HTML标记?例如,如果我想加粗链接文本的一部分,我会尝试类似于此的东西:
<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>
Run Code Online (Sandbox Code Playgroud)
但那只是输出
Some <b>bold</b> text
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过使用锚标记并使用Url.Action设置URL来实现此目的,但我只是想知道这是否可行.
只需使用MVC 3 RC2和RavenDB构建一个快速,简单的站点来测试一些东西.
我已经能够制作一堆项目,但我很好奇Html.ActionLink()如何处理乌鸦数据库ID.
我的例子:我有一个名为"reason"的文档(一个事情的原因,主要是文本),它有原因文本和链接列表.我可以通过我的存储库添加,删除和完成其他所有操作.
下面是我的剃刀视图的一部分,它列出了项目符号列表中的每个原因,并将编辑链接作为第一个文本:
@foreach(var Reason in ViewBag.ReasonsList)
{
<li>@Html.ActionLink("Edit", "Reasons", "Edit", new { id = Reason.Id }, null) @Reason.ReasonText</li>
<ul>
@foreach (var reasonlink in Reason.ReasonLinks)
{
<li><a href="@reasonlink.URL">@reasonlink.URL</a></li>
}
</ul>
}
Run Code Online (Sandbox Code Playgroud)
问题
除编辑链接外,此方法正常.虽然这里的值和代码似乎直接起作用(即链接直接触发),但RavenDB将我的文档ID保存为"reason/1".
因此,当URL发生并且它传递ID时,结果路由是"http:// localhost:4976/Reasons/Edit/reasons/2".因此,ID被正确附加,但MVC将其解释为自己的路由.
关于我如何能够解决这个问题的任何建议?我是否需要创建一个特殊的路线来处理它或者我还能做些什么吗?
actionlink ×10
asp.net-mvc ×9
c# ×2
routevalues ×2
asp.net ×1
css ×1
href ×1
html-helper ×1
ravendb ×1
razor ×1