在 ASP.NET MVC 3 窗体内创建操作链接

本文关键字:创建 操作 链接 窗体 ASP NET MVC | 更新日期: 2023-09-27 18:28:45

@using (Html.BeginForm("AbuseReportInfo", "Admin",  new {id = @Model.Id, verify = true }))
{
    <div class="cashOutHistory-item-header">
         @Html.ActionLink(@Model.Material.Name, "Details", "Material", new { id = Model.Material.Id }, null)
    </div>
    <div class="cashOutHistory-item-header">
        Subject:
    </div>
    <div>
        <span class="cashOutHistory-item">
            @Html.DisplayFor(model => model.Subject)
        </span>
    </div>
    <div class="cashOutHistory-item-header">
        Description</div>
    <div>
        <span class="cashOutHistory-item">
            @Html.DisplayFor(model => model.Description)
        </span>
    </div>
    <p> 
        <input type="submit" id="btnVerify" name="btnVerify" value="Discard" />
    </p>
    <p>
        @Html.ActionLink("Back to List", "Index")
    </p>
}

创建操作链接时:

@Html.ActionLink(@Model.Material.Name, "Details", "Material", new { id = Model.Material.Id }, null)

加载页面时,链接不可单击。

但是当将操作链接放在下面时:

@Html.ActionLink("Back to List", "Index")

链接正在工作。

这是为什么呢?我希望链接能够在最初放置的位置工作。

在 ASP.NET MVC 3 窗体内创建操作链接

正如@Giredrius评论中提到的,很有可能某些JavaScript代码正在取消点击事件,尝试更改ID或名称进行测试,例如

@Html.ActionLink("test name", "Details", "Material", new { id = "TestId_1"}, null)

如果上面的代码有效,可以确认取消JS代码的存在,然后在JS文件中搜索该代码

我认为您不需要此行中的第二个@符号:

@Html.ActionLink(@Model.Material.Name, "Details", "Material", new { id = Model.Material.Id }, null) 

将其更改为:

@Html.ActionLink(Model.Material.Name, "Details", "Material", new { id = Model.Material.Id }, null) 

您已经在带有@Html的 Razor 解析器中,因此第二个标记可能会抛弃解析器。