【问题标题】:How do i access html input in a razor file, and save it into a c# variable?如何访问剃刀文件中的 html 输入,并将其保存到 c# 变量中?
【发布时间】:2016-03-19 02:24:45
【问题描述】:

我有一个 .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# 变量中?

【问题讨论】:

  • 您开始的项目类型是什么?

标签: c# html asp.net razor


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 2021-11-28
    • 2021-05-30
    • 1970-01-01
    • 2021-09-10
    • 2013-11-10
    相关资源
    最近更新 更多