@Html.ActionLink()

2021-03-07 12:29

阅读:594

标签:trap   灵活   views   rtti   market   简洁   disable   概述   直接   

一、@Html.ActionLink()概述

  在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁。通过浏览器依然会解析成传统的a标签。除此之外,还允许我们添加Html属性。下面来看看@Html.ActionLink()的使用方法吧。

二、@Html.ActionLink()的使用详解

  1. @Html.ActionLink("linkText", "actionName")

  这种重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法(Action),默认控制器为当前页面对应的控制器。

  例如,当前页面的控制器为ProductsController:@Html.ActionLink("detial", "Detial")会生成detail

  2. @Html.ActionLink("linkText", "actionName", "controllerName")

  该重载比第一个重载多了一个参数,他指定了控制器的名称。

  例如,@Html.ActionLink("detail", "Detail", "Products")会生成detail

  3. @Html.ActionLink("linkText", "actionName", routeValues)

  相对于上一种重载,该重载新增了routeValue参数,routeValue可以向action传递参数。

  例如,@Html.ActionLink("detail", "Detail", new{ id = 1 })会生成detail

  4. @Html.ActionLink("linkText", "actionName", routeValues, htmlAttributes)

  htmlAttribute可以设置标签的属性。

  例如,@Html.ActionLink("detail", "Detail", new{ id = 1 }, new{ target = "_blank" })会生成detail,需要注意的是如果写成new{ target="_blank", class="className" }则会报错,因为Class是C#的关键字,此时应该写成@class="className"。

  5. @Html.ActionLink("linkText", "actionName", "controllerName", routeValues, htmlAttributes)

  该种重载汇聚了以上此种重载的所有参数,是功能最全的重载。

三、@Url.Action(),@Html.ActionLink(),Html.RenderAction()和@Html.Action()的区别

1. 返回值不同

  • @Html.Action()返回值为MvcHtmlString。Html.Action比较灵活,可以直接写在页面上,也可以把它赋值给某一变量,处理之后写在页面上。
  • Html.RenderAction()返回值为void。Html.RenderAction必须写在@{}内,直接由Response对象输出。例:@{ Html.RenderAction("Index", "Import");}
  • @Html.ActionLink()返回值也是MvcHtmlString。
  • @Url.Action()返回值为string。MvcHtmlString本质上也是string,两者都可以直接现在页面上。

2. 生成的东西不同

  • @Html.ActionLink("myLink", "CCC", "Import")生成myLink
  • @Url.Action("CCC", "Import")直接生成字符串"/Import/CCC",没有任何tag标签。

@{
ViewBag.Title = "Index";
}



@Html.ActionLink("提交","login",new {login= "a",PassWorld="c"});
账号:
密码:

本来想通过@Html.ActionLink获取input标签里面的值 传到后台 但是网上搜了好多文章 发现目前还解决不了这个问题 都是改用了别的途径 比如我写的通过js跳转

感觉@Html.ActionLink 现在更适合跟Model一起使用 比如下面的代码 大数据后台项目的一个页面

@using System.Web.Mvc;
@using BigDataBackSite.Models;
@using BigDataBackSite.Tools;
@using Webdiyer.WebControls.Mvc;

@model PagedList
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";









}

.angle_top {
border-style: solid;
border-width: 0 6px 6px;
border-color: transparent transparent #5e5e5e;
position: absolute;
transform: rotate(180deg);
/*bottom: 10px;*/
top:2px;
/*right: 3px;*/
}

.angle_bottom {
border-style: solid;
border-width: 0 6px 6px;
border-color: transparent transparent #5e5e5e;
position: absolute;
top:9px;
/*right: 3px;*/
left:8px;
}

.index_tab2_1 tr td:last-child/*,.index_tab2_1 tr th:last-child*/{min-width:330px;}

$(function () {
//到期时间,登录次数排序
var userName = $("#userName").val();
var name = $("#name").val();
var mobile = $("#mobile").val();
var logname = $("#logname").val();
var corpName = $("#corpName").val();
var userType = $("#userType").val();
var lockState = $("#lockState").val();
var checkState = $("#checkState").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var serviceCount = $("#serviceCount").val();
$("#ExpiredDateASC").click(function () {
$("#ExpiredDateASC").attr("href", "/Users/Index?orderstr=ExpiredDate ASC&userName=" + userName + "&name=" + name + "&mobile=" + mobile + "&logname=" + logname + "&corpName=" + corpName +
"&userType=" + userType + "&lockState=" + lockState + "&checkState=" + checkState + "&startTime=" + startTime + "&endTime=" + endTime + "&serviceCount=" + serviceCount);
});

$("#ExpiredDateDESC").click(function () {
$("#ExpiredDateDESC").attr("href", "/Users/Index?orderstr=ExpiredDate DESC&userName=" + userName + "&name=" + name + "&mobile=" + mobile + "&logname=" + logname + "&corpName=" + corpName +
"&userType=" + userType + "&lockState=" + lockState + "&checkState=" + checkState + "&startTime=" + startTime + "&endTime=" + endTime + "&serviceCount=" + serviceCount);
});

$("#LogAmountASC").click(function () {
$("#LogAmountASC").attr("href", "/Users/Index?orderstr=LogAmount ASC&userName=" + userName + "&name=" + name + "&mobile=" + mobile + "&logname=" + logname + "&corpName=" + corpName +
"&userType=" + userType + "&lockState=" + lockState + "&checkState=" + checkState + "&startTime=" + startTime + "&endTime=" + endTime + "&serviceCount=" + serviceCount);
});

$("#LogAmountDESC").click(function () {
$("#LogAmountDESC").attr("href", "/Users/Index?orderstr=LogAmount DESC&userName=" + userName + "&name=" + name + "&mobile=" + mobile + "&logname=" + logname + "&corpName=" + corpName +
"&userType=" + userType + "&lockState=" + lockState + "&checkState=" + checkState + "&startTime=" + startTime + "&endTime=" + endTime + "&serviceCount=" + serviceCount);
});


//刷新
$("#research").click(function () {
userName = $("#userName").val();
name = $("#name").val();
mobile = $("#mobile").val();
logname = $("#logname").val();
corpName = $("#corpName").val();
userType = $("#userType").val();
lockState = $("#lockState").val();
checkState = $("#checkState").val();
startTime = $("#startTime").val();
endTime = $("#endTime").val();
serviceCount = $("#serviceCount").val();
window.location.href = "http://www.soscw.com/Users/Index/?userName=" + userName + "&name=" + name + "&mobile=" + mobile + "&logname=" + logname + "&corpName=" + corpName +
"&userType=" + userType + "&lockState=" + lockState + "&checkState=" + checkState + "&startTime=" + startTime + "&endTime=" + endTime + "&serviceCount=" + serviceCount;
});
});

@*@using (Html.BeginForm("Index", "Users", FormMethod.Post, new {enctype = "multipart/form-data" }))
{*@



用户列表

+添加用户
@*@Html.ActionLink("+添加用户", "AddUser", new { rturl = @Server.HtmlEncode(Request.RawUrl) }, new { @class = "lan", style = "float:left" })*@
@*@Html.ActionLink("+批量导入", "UserImport", new { rturl = @Server.HtmlEncode(Request.RawUrl) }, new { style = "float:right;margin-right:1px; font-size:13px; font-weight:normal; line-height:38px; text-align:right;" })*@






























    用户名



    姓名



    业务员



    企业名称



    会员类型



    锁定状态



    审核状态



    到期时间











    @**@




    @**@



    @**@
    @**@
    @**@




    @if (Model.Count == 0)
    {



    }
    else
    {
    foreach (UsersandServiceCount item in Model)
    {
    switch (item.LevelFlag)
    {
    case 1:




    @**@
    @**@




    @**@



    @**@
    @**@
    @**@




    break;
    case 2:




    @**@
    @**@




    @**@



    @**@
    @* *@
    @**@



    break;
    }
    }
    }






    用户名

    姓名

    客户端类型

    企业名称

    业务员

    会员类型

    注册时间

    最后登录时间

    到期时间

    @*margin-left:5px;*@




    @*margin-top:-5px;*@




    登录次数

    @*margin-left:5px;*@




    @*margin-top:-5px;*@




    审核

    锁定

    是否显示水印

    软件绑定

    Web绑定

    服务记录

    操作

    暂无相关数据

    @**@
    @{
    if (!AppConst.adminNameList.Contains(Identity.AdminIDByCookie))
    {
    switch (item.UserType)
    {
    case (int)UserType.正式会员:

    break;
    case (int)UserType.试用会员:

    break;
    default:
    break;
    }
    }
    else
    {

    }

    }


    @item.UserName

    @item.Name

    @((MemberType)item.MemberType)

    @item.Mobile

    @item.Company
    @*@(!string.IsNullOrEmpty(item.Company) && item.Company.Length > 4 ? item.Company.Substring(0, 4) + "..." : item.Company)*@

    @item.LogName

    @{
    switch (item.UserType)
    {
    case (int)UserType.正式会员:
    @((UserType)item.UserType)
    break;
    case (int)UserType.试用会员:
    @((UserType)item.UserType)
    break;
    default:
    break;
    }
    }

    @item.Addtime.ToString("yyyy-MM-dd HH:mm:ss")

    @item.LastLogTime.ToString("yyyy-MM-dd HH:mm:ss")

    @if (DateTime.Now >= item.ExpiredDate)
    {
    @item.ExpiredDate.ToString("yyyy-MM-dd")
    }
    else
    {
    @item.ExpiredDate.ToString("yyyy-MM-dd")
    }

    @item.LogAmount.ToString()
    @*@Html.ActionLink(@item.LogAmount.ToString(), "UserLogIndex", "Users", new { userName = item.UserName }, new { target = "_blank" })*@

    @if (item.IsCheck == true)
    {
    已审
    }
    else
    {
    未审
    }

    @Html.CheckBox("IsLock", item.IsLock, new { @disabled = "disabled", style = "vertical-align:middle" })

    @Html.CheckBox("IsWaterMark", item.IsWaterMark, new { @disabled = "disabled", style = "vertical-align:middle" })

    @if (string.IsNullOrEmpty(item.SerialNumber))
    {
    @Html.CheckBox("BangDing", false, new { @disabled = "disabled", style = "vertical-align:middle" })
    }
    else
    {
    @Html.CheckBox("BangDing", true, new { @disabled = "disabled", style = "vertical-align:middle" })
    }

    @if (string.IsNullOrEmpty(item.WebSerialNumber))
    {
    @Html.CheckBox("WebBangDing", false, new { @disabled = "disabled", style = "vertical-align:middle" })
    }
    else
    {
    @Html.CheckBox("WebBangDing", true, new { @disabled = "disabled", style = "vertical-align:middle" })
    }

    @if (item.ServiceCount == 0)
    {

    }
    else
    {
    @item.ServiceCount
    }

    编辑
     
    @if (!AppConst.adminNameList.Contains(Identity.AdminIDByCookie))
    {
    switch (item.UserType)
    {
    case (int)UserType.正式会员:

    break;
    case (int)UserType.试用会员:
    删除
    break;
    default:
    break;
    }
    }
    else
    {
    删除
    }
     
    授权
     
    日志
     

    Web解绑


    新增附属账号
     
    登录失败日志
     
    软件解绑


    @* @Html.ActionLink("涨跌关注", "Index", "UsersLinkAPPMarket", new { UserName = @item.UserName }, new { target = "_blank" }) *@
    服务记录
     
    自定义对比组
     
    期货关注列表

    @**@
    @{
    if (!AppConst.adminNameList.Contains(Identity.AdminIDByCookie))
    {
    switch (item.UserType)
    {
    case (int)UserType.正式会员:

    break;
    case (int)UserType.试用会员:

    break;
    default:
    break;
    }
    }
    else
    {

    }

    }


          └ @item.UserName

    @item.Name

    @((MemberType)item.MemberType)

    @item.Mobile

    @item.Company
    @*@(!string.IsNullOrEmpty(item.Company) && item.Company.Length > 4 ? item.Company.Substring(0, 4) + "..." : item.Company)*@

    @item.LogName

    @{
    switch (item.UserType)
    {
    case (int)UserType.正式会员:
    @((UserType)item.UserType)
    break;
    case (int)UserType.试用会员:
    @((UserType)item.UserType)
    break;
    default:
    break;
    }
    }

    @item.Addtime.ToString("yyyy-MM-dd HH:mm:ss")

    @item.LastLogTime.ToString("yyyy-MM-dd HH:mm:ss")

    @if (DateTime.Now >= item.ExpiredDate)
    {
    @item.ExpiredDate.ToString("yyyy-MM-dd")
    }
    else
    {
    @item.ExpiredDate.ToString("yyyy-MM-dd")
    }

    @item.LogAmount.ToString()
    @*@Html.ActionLink(@item.LogAmount.ToString(), "UserLogIndex", "Users", new { userName = item.UserName })*@

    @if (item.IsCheck == true)
    {
    已审
    }
    else
    {
    未审
    }

    @Html.CheckBox("IsLock", item.IsLock, new { @disabled = "disabled", style = "vertical-align:middle" })

    @Html.CheckBox("IsWaterMark", item.IsWaterMark, new { @disabled = "disabled", style = "vertical-align:middle" })

    @if (string.IsNullOrEmpty(item.SerialNumber))
    {
    @Html.CheckBox("BangDing", false, new { @disabled = "disabled", style = "vertical-align:middle" })
    }
    else
    {
    @Html.CheckBox("BangDing", true, new { @disabled = "disabled", style = "vertical-align:middle" })
    }

    @if (string.IsNullOrEmpty(item.WebSerialNumber))
    {
    @Html.CheckBox("WebBangDing", false, new { @disabled = "disabled", style = "vertical-align:middle" })
    }
    else
    {
    @Html.CheckBox("WebBangDing", true, new { @disabled = "disabled", style = "vertical-align:middle" })
    }

    @if (item.ServiceCount == 0)
    {

    }
    else
    {
    @item.ServiceCount
    }

    编辑
     
    @if (!AppConst.adminNameList.Contains(Identity.AdminIDByCookie))
    {
    switch (item.UserType)
    {
    case (int)UserType.正式会员:

    break;
    case (int)UserType.试用会员:
    删除
    break;
    default:
    break;
    }
    }
    else
    {
    删除
    }
     
    授权
     
    日志
     
    Web解绑


    登录失败日志
     
    服务记录
     
    @* @Html.ActionLink("涨跌关注", "Index", "UsersLinkAPPMarket", new { UserName = @item.UserName }, new { target = "_blank" }) *@
    软件解绑


    自定义对比组
     
    期货关注列表



@*分页*@

    @{
    if (Model.TotalItemCount == 0)
    {

    }
    else
    {


  • @Html.Pager(Model, new PagerOptions
    {
    PageIndexParameterName = "id",
    Id = "htmlPager",
    ContainerTagName = "ul",
    CssClass = "pagination",
    CurrentPagerItemTemplate = "
  • {0}
  • ",
    DisabledPagerItemTemplate = "
  • {0}
  • ",
    PagerItemTemplate = "
  • {0}
  • ",
    PageIndexBoxId = "pagebox",
    GoToButtonId = "goBtn"
    })



  • 转到第






  • 共 @Model.TotalItemCount 条记录, @Model.CurrentPageIndex/@Model.TotalPageCount 页

  • }
    }












    到期时间:

    @Html.TextBox("EndDate", "", new { style = "width:120px;", @class = "wdate", onfocus = "WdatePicker()" })

    @*@if (Identity.AdminIDByCookie != AppConst.adminName)
    {

    }
    else
    {
    修改到期时间
    }*@
    修改到期时间

    @*@if (Identity.AdminIDByCookie != AppConst.adminName)
    {

    }
    else
    {
    批量删除
    }*@
    批量删除

    确认审核

    取消审核

    Web批量解绑





    说明:一台电脑只能登录一个账号,如果想登录另个账号请先解除绑定。


          
    此账号已在另台终端上登录的情况:


           1、此账号在其他终端上已登录过,解绑即可。


           2、此台终端已登录过其他账号。需要解除已登录过的账号和现在要登录的账号。


           3、浏览器必须支持cookie使用,如果清除浏览器 cookie后需要解绑才能登录


           4、一个浏览器允许登录多个账号,但只支持一个账号同时在线。


 

@Html.ActionLink()

标签:trap   灵活   views   rtti   market   简洁   disable   概述   直接   

原文地址:https://www.cnblogs.com/gujianli/p/12886764.html


评论


亲,登录后才可以留言!