ASP .NET 中控制器获取数据的方法

本文详细介绍了如何在ASP.NETMVC中通过Request、FormCollection、动作参数、路由和ValueProvider获取不同类型的HTTP请求输入数据,包括表单数据、查询字符串和Cookies等。
摘要由CSDN通过智能技术生成

在ASP .NET MVC中,控制器操作方法可以访问通过HTTP请求提交的各种输入数据,包括表单数据、查询字符串、Cookies、路由值和提交的文件等。以下是针对每种获取数据的方法的详细说明:

1.通过Request读取输入数据

通过Request读取输入数据,其对象及子集包括Form、Cookies、ServerVariables、QueryString。例如:

public ActionResult MyAction()
{
    string value = Request["fieldName"];//或者Request.Parms["UserName"];
    return View();
}

2.通过FormCollection读取数据

FormCollection用来在Controller中获取页面表单元素的数据。它是表单元素的集合,包括<input type=“submit” />元素,例如:

public ActionResult MyAction(FormCollection form)
{
    string value = form["UserName"];
    return View();
}

3.通过动作参数读取数据

在动作方法中添加String类型的参数,其名称与视图参数名称相同。例如:

[HttpPost]

public ActionResult MyAction(string UserName)
{
    // 处理逻辑
    return View();
}

4.从路由中获取输入数据
在ASP.NET MVC中,通常会通过URL提供输入的参数。这些值由路由模块捕获,并可供应用程序使用,使用的是RouteData.Values字典。例如:

routes.MapRoute(
    name: "ParamRoute",
    url: "{controller}/{action}/{data}"
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

//->string data= RouteData.Values["data"].ToString();

5.ValueProvider字典

ValueProvider字典提供了以GetValue()方法为中心的自定义编程接口,返回ValueProviderResult类型的一个实例。该类型有两个用于实际读取真实参数值的属性:RawValue和AttemptedValue, RawValue是提供的原始值(即指定Key值的String[ ]的集合),AttemptedValue是一个字符串(即指定Key值对应的value值),使用方法如下所示:

public ActionResult GetValue()
{
       string userNmae =  ValueProvider.GetValue("UserName").AttemptedValue;
     return View();
}

通过以上这些方法,可以在ASP .NET MVC应用程序中获取和处理各种类型的HTTP请求数据。

视图代码

<form action="/Home/Index" method="post">
    <h3>@ViewBag.name</h3>
    <input type="text"  name="UserName" placeholder="请输入用户名"  />
    <input type="submit" name="Submit" value="提交" />
</form>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值