为了在我的页面上实现AJAX登录,我有这个链接:
<%= Ajax.ActionLink("Log On", "LogOn", "Account", new AjaxOptions {
UpdateTargetId = "lll",
Confirm = "blah"}) %>
Run Code Online (Sandbox Code Playgroud)
附近有一个带有id lll的div.当我点击链接时,我得到了确认(仅为调试目的而添加,没有它的行为是相同的)但是没有任何反应.没有请求到达服务器(因为我在LogOn操作方法上有一个断点).这是在Chrome和IE8中.在FF3中,它打开登录视图,但作为页面,它不会通过AJAX下载.
什么想法可能是错的?
我正在使用Ajax.ActionlinkMVC框架,一切都适用于我的目标和部分视图.但是我已经看到html输出没有将"id"属性添加到结果<a href=""></a>标记中.
我有什么方法可以添加它吗?
如果从数据库中提取链接的名称,您是否应该调用Html.Encode方法来清除名称?
例如:
Html.ActionLink(Model.PersonFromDB.FirstName,
"Action",
"Controller",
new RouteValueDictionary { { "id", Model.PersonFromDB.Id } },
null)
Run Code Online (Sandbox Code Playgroud)
要么:
Html.ActionLink(Html.Encode(Model.PersonFromDB.FirstName),
"Action",
"Controller",
new RouteValueDictionary { { "id", Model.PersonFromDB.Id } },
null)
Run Code Online (Sandbox Code Playgroud)
有意义的是你想要这样做以确保没有危险的字符串注入到页面之间<a>和</a>标签之间,但是脚本和锚标签之间的可执行文件?
在HomeController的Details视图中,我想在MiscController上创建一个指向Email视图的链接.另外,我需要在QueryString中添加一个项目.
我想创建一个类似于以下内容的链接:
<a href="http://www.blah.com/misc/SendMail?id=6">
<font size="1">Report problems</font>
</a>
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法:
<% Html.ActionLink("<font size=\"1\">Report</font>", "SendMail", "Misc", Model.ImageID, new object()); %>
Run Code Online (Sandbox Code Playgroud)
它没有返回链接.我错过了什么?
我有以下ajax.actionlink.我想将click事件添加到此actionlink.我怎样才能做到这一点
<%= Ajax.ActionLink("text", "textaction", new { param = 1}, new AjaxOptions
{
OnSuccess = "updatePlaceholder",
UpdateTargetId = "result"
})%>
Run Code Online (Sandbox Code Playgroud) 我有一个双重职责的索引方法,显示帖子列表和查询的帖子列表,也可以有页面,所以你得到像/News/Page/1或/News?query=test
当用户点击帖子时,News/Details/1他们会得到一个简单的ActionLink,将他们带回列表.但是我想要这个链接将它们带回到它们在分页或查询方面所处的实际页面.我怎么能这样做?我不想使用JavaScript历史记录方法.这是我当前的ActionLink:<%=Html.ActionLink("<< Back to News List", "Index")%>这是分页链接的一个例子:<%= Html.RouteLink("<< First Page", "NewsPaging", new { query = ViewData["query"], page = 0 })%>
谢谢
这是我的 html.ActionLink:
@Html.ActionLink("Comment", "Comment", new { id = item.NewsId, title = item.Title + "#disqus_thread" })
Run Code Online (Sandbox Code Playgroud)
它给了我以下网址:
http://localhost:62394/Home/Comment/5008/Iran%20women%20barred%20from%20presidency%23disqus_thread
Run Code Online (Sandbox Code Playgroud)
而不是 "#"它生成"%23"
我怎样才能确保它变成这样:
`
http://localhost:62394/Home/Comment/5008/Iran%20women%20barred%20from%20presidency#disqus_thread
Run Code Online (Sandbox Code Playgroud)
任何形式的帮助都非常感谢!
我正在尝试创建一个链接来编辑网格中的每个条目,但是当我点击链接时,它会将" %20%20%20%20%20%20%20%20%20%20%20%20%20" 附加到网址的末尾.我不知道为什么会这样.如果我删除%20%20%20%20%20%20%20%20%20%20%20%20%20浏览器地址栏中的" ",链接将找到.
<div class="divGridHistory">
@historyDataGrid.GetHtml("webGridStyle",
rowStyle: "gridrow",
alternatingRowStyle: "altgridrow",
selectedRowStyle: "webGridSelectedRow",
displayHeader: true,
htmlAttributes: new { id = "dedDetailDataGrid" },
columns: historyDataGrid.Columns(
historyDataGrid.Column("ControlGroupId", "Control Group ID", style: "webGridGroupId"),
historyDataGrid.Column("OrganizationId", "Organization ID", style: "webGridOrganizationId"),
historyDataGrid.Column("AleIndicator", "ALE Indicator", style: "webGridAleIndicator"),
historyDataGrid.Column("EffectiveDate","Effective Date", style: "webGridStartDate", format: item => @Utility.FormatShortDate(item.EffectiveDate)),
historyDataGrid.Column("ChangeReason","Change Reason", style: "webGridChangeReason"),
historyDataGrid.Column("Edit",format:@<text>@Html.ActionLink("Edit","EditOrganizationAle","AleCalculation",new{id = Model.OrganizationId},"")</text>)
))
</div>
Run Code Online (Sandbox Code Playgroud) 我有这个ActionLink要登录:
@Html.ActionLink("Login", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })
Run Code Online (Sandbox Code Playgroud)
在“主页”视图中,它可以正常工作,并产生以下网址:
http://localhost:12676/Account/Login
Run Code Online (Sandbox Code Playgroud)
但是,当访问另一个区域时,ActionLink结果将在以下URL中显示:
http://localhost:12676/Admin/ManagerAccounts/Login/loginLink
Run Code Online (Sandbox Code Playgroud)
我需要更改以导致ActionLink总是产生~/Account/Login什么?
我是MVC的新手,试图弄清楚@Html.ActionLink部分视图中的工作方式.
背景 - 这是解决方案的相关部分
Models
PersonViewModel.cs
Views
Addresses
AddressListPartial.cshmtl
Person
Details.cshtml
Run Code Online (Sandbox Code Playgroud)
我创建了一个PersonViewModel,其中有FirstName,LastName和列表Address上课.我使用List脚手册为Address表创建了一个局部视图,并在我的视图中添加了以下内容,以便Person显示Person/Details页面上的地址列表:
@Html.Partial("~/Views/Address/AddressListPartial.cshtml", Model.Addresses)
Run Code Online (Sandbox Code Playgroud)
这是正确显示页面上的AddressList,但是,AddressList上的"创建","编辑"等链接是链接Views/Person/Edit/{id}而不是Views/Address/Edit/{id}.
部分视图操作链接:
@Html.ActionLink("Edit", "Edit", new { id=item.AddressID }) |
Run Code Online (Sandbox Code Playgroud)
因此,局部视图继承ActionLink了Person而不是文件夹Address.有没有办法在局部视图中使这些ActionLinks引用地址文件夹/控制器而不是Person?
我试过这个,但是如果局部视图不在Views文件夹中的子文件夹中,那么这将不起作用:
@Html.ActionLink("Edit", "../Address/Edit", new { id=item.AddressID }) |
Run Code Online (Sandbox Code Playgroud) actionlink ×10
asp.net-mvc ×9
ajax ×2
c# ×2
.net ×1
.net-3.5 ×1
html-encode ×1
jquery ×1
razor ×1
view ×1