我试过这段代码
<%: Html.ActionLink("Home", "Index", "Home", new { @class = "NavLink" })%>
它链接到css,以便我可以设置链接的样式,但它会更改链接,使其具有不同于我的控制器的不同URL,就像它没有new { @class = "NavLink" }.有没有办法让我设置这些链接的样式而不破坏我的URL,以便他们转到正确的页面?
谢谢!
我想编写一个HtmlHelper来渲染具有预设值的ActionLink,例如.
<%=Html.PageLink("Page 1", "page-slug");%>
Run Code Online (Sandbox Code Playgroud)
where PageLink是一个ActionLink使用已知Action和Controller 调用的函数,例如."索引"和"页面".
由于HtmlHelper并且UrlHelper不存在于Controller类或类中,如何从类中获取动作的相对URL?
更新:鉴于我现在有额外三年积累的经验,这是我的建议:只是使用Html.ActionLink("My Link", new { controller = "Page", slug = "page-slug" })或更好,
<a href="@Url.Action("ViewPage",
new {
controller = "Page",
slug = "my-page-slug" })">My Link</a>
Run Code Online (Sandbox Code Playgroud)
您的扩展方法可能很简单,但它会为招聘添加另一个未经测试的失败点和新的学习要求,而不会增加任何实际价值.将其视为设计复杂系统.为什么要添加另一个移动部件,除非它增加可靠性(否),可读性(很少,一旦你阅读更多文档),速度(无)或并发(无).
asp.net-mvc html-helper actionlink urlhelper html.actionlink
我有
@Html.ActionLink("Remove 1034, 1035, 1036", "RemoveSelected")
Run Code Online (Sandbox Code Playgroud)
现在我想从Controller设置每个id
例如:
@Html.ActionLink(ViewBag.RemoveSelectedTitle, "RemoveSelected") //this is not work
// GET: /TabMaster/
public ActionResult Index()
{
ViewBag.RemoveSelectedTitle = "100,101,102";
return View(_tabmasterService.GetTabMasterList(10, 1));
}
Run Code Online (Sandbox Code Playgroud) 我有一个对象,包含搜索,排序和分页参数以及要编辑的记录的ID.
我想将此对象作为路由值对象传递给Html.ActionLink(),以便生成的查询字符串将由默认模型绑定器正确映射到Edit操作的参数,即EditViewModel.
我们的想法是,在Edit操作完成后,它可以重定向回Index并在同一数据集中保持相同的分页/排序位置,并使用相同的搜索字符串进行过滤.
编辑视图模型:
public class EditViewModel
{
public SearchSortPageViewModel SearchSortPageParams { get; set; }
public int Id { get; set; }
public EditViewModel()
{
SearchSortPageParams = new SearchSortPageViewModel();
Id = 0;
}
public EditViewModel(SearchSortPageViewModel searchSortPageParams, int id)
{
SearchSortPageParams = searchSortPageParams;
Id = id;
}
}
public class SearchSortPageViewModel
{
public string SearchString { get; set; }
public string SortCol { get; set; }
public string SortOrder { get; set; }
public int Page { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 有没有办法在其中创建一个带有哈希/磅/片段的强类型T4MVC ActionLink?
例如,这是我想要创建的链接:
<a href="/Home/Index#food">Feed me</a>
Run Code Online (Sandbox Code Playgroud)
但是没有可以做到这一点的T4MVC对象的扩展.
<%= Html.ActionLink("Feed me", T4MVC.Home.Index()) %>
Run Code Online (Sandbox Code Playgroud)
所以,我最终要做的是创建一个动作,然后以这种方式嵌入它:
<a href="<%= Url.Action(T4MVC.Home.Index()) %>"#food>Feed me</a>
Run Code Online (Sandbox Code Playgroud)
这不是很理想.任何人有任何想法/建议?
提前致谢
我需要能够动态检索您所在页面的当前操作和控制器名称,并实际使用它们来创建一个新的HTML.ActionLink,它链接到相同的操作和控制器名称,但在不同的区域.所以我想我需要将当前操作和控制器名称检索为变量,以用于构建新的HTML.ActionLink.
因此,如果我在www.site.com/about页面上,我需要动态生成链接到www.site.com/es/about页面.
我基本上在一个单独的区域文件夹中构建了我的网站的西班牙语翻译版本(具有相同的命名控制器和操作和视图,只是内容全部是西班牙语).我需要用户能够在页面的英文版本(这是默认版本,并且位于根网站视图中)和西班牙语版本(其视图位于区域文件夹"es")之间来回切换.他们目前所在的页面.我不能"硬编码"这些链接,因为我需要在共享的局部视图中使用它,这是我在每个页面上使用的_Layout中的_topNavigation.
如果我需要澄清,请告诉我.我确信在本地化应用程序时使用"区域"并不是真正的方法,但我仍然在努力教自己asp.net MVC.我阅读了许多有关本地化的教程和示例,我可能无法让它们工作或有意义.
我还应该补充一点,我已经知道如何使用HTML.ActionLink在这些区域之间来回切换.我已经设法为西班牙语区域中的任何视图以及默认站点中的任何视图创建正确的HTML.ActionLinks.所以这不是我的问题.
任何帮助是极大的赞赏!谢谢!
asp.net-mvc controller toggle asp.net-mvc-areas html.actionlink
我有这条路
routes.MapRoute(
"ViewGames", // Route name
"psp/{controller}/{action}", // URL with parameters
new { controller = "Games"} // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
我用<%= Html.ActionLink("God of War", "godofwar", "Games")%>所有,虽然它给了我一个链接,这样somesite.com/psp/games/godofwar/,但其他环节也成为像例如我的HomeController成为这个somesite.com/psp/home/about/?
怎么可以调用routename所以其他人不会有ViewGames路由?
我不想尝试这个<a href="/psp/games/godofwar/">不好的...
我是ASP MVC3的新手,我正在使用Razor Engine.
我的问题是我在表格中构建了我的主导航
<nav> <ul> <li><a href=""><b>Link</b></a></li></ul></nav>
Run Code Online (Sandbox Code Playgroud)
那么我怎么能用actionlink做到这一点?我只需要在标签内插入b标签.
我有一个MVC3 C#.NET Web应用程序,需要使用Html.ActionLink调用视图.我无法从文档中看出是否可以指定POST或GET.下面是我的HTML,有没有办法指定GET或POST?
@Html.ActionLink("Create New", "Edit", "Subtask",
new {Id = ViewBag.Id, Command="CreateHourEntry"}, null)
Run Code Online (Sandbox Code Playgroud) 我有一个actionlink,我需要它来传递包含连字符( - )的参数.无法更改名称约定.我该怎么做呢?
<li>@Html.ActionLink("abc", "abc", "abc", new { area = "",sap-ie="Edge" }, new { id = nav_abc"})</li>
Run Code Online (Sandbox Code Playgroud)
这个给我一个错误"无效的匿名类型声明符",因为它包含连字符.基本上我需要actionlink来生成如下的html.
<a href=".../abc?sap-ie=Edge" id="nav_abc" >abc</a>
Run Code Online (Sandbox Code Playgroud) html.actionlink ×10
asp.net-mvc ×7
c# ×2
actionlink ×1
asp.net ×1
controller ×1
css ×1
dynamic ×1
html ×1
html-helper ×1
post ×1
razor ×1
routes ×1
routevalues ×1
t4mvc ×1
toggle ×1
urlhelper ×1
viewbag ×1