如何在剃刀文件中访问html输入,并将其保存到c#变量中?

时间:2016-03-19 02:24:46

标签: c# html asp.net razor

我有一个.cshtml(Razor)文件,我试图使用System.Web.UI.Page.Request来访问来自html输入的信息。我正在Visual Studio 2015中开发。

这是我的代码:

<!doctype html>
<html ng-app="createEvent">
@using System.Web;
@{   
    string title = Request["title"];
    string address = Request["address"];

    <p>
        You entered: <br />
        Your Title: @title <br />
        Your Address: @address
    </p>

}

使用Html输入:

<md-input-container class="md-block" flex-gt-xs="">
    <label>Title</label>
    <input type="text" name="title" />
</md-input-container>

<md-input-container class="md-block">
    <label>Address</label>
    <input type="text" name="address">
</md-input-container>

<md-button class="md-raised">
    <input type="submit" value="Submit" />
</md-button>

我已将System.Web包含在我的项目参考中,但它不识别“请求”。 Intellisense给我的信息是:“当前上下文中不存在名称'Request'。”

如果我不想尝试使用“请求”,我怎样才能将输入信息输入c#变量?

1 个答案:

答案 0 :(得分:1)

可以在视图中通过Context.Request访问Request对象时,您应该很少这样做,当然也不能从同一视图中的表单字段访问值。

您需要将输入元素包装在一个带有控制器操作URL的表单中。控制器将从表单中接收数据,您可以在那里采取行动。

@using( Html.BeginForm( "Save", "MyController", FormMethod.Post ) )
{
    // your inputs here
}
  1. 定义要填充的模型。
  2. 为模型创建表单。
  3. 将表单提交给控制器操作方法,该方法将自动将HTTP请求转换为可以读取的模型。