在MVC中获取和处理输入的数据-简单

本文关键字:数据 简单 输入 处理 MVC 获取 | 更新日期: 2023-09-27 18:21:33

我对MVC学习曲线有一些问题

目标:

我想获取txtMHM输入的文本推送btnStat并通过标签或span或…显示输入的文本后。。。

在MVC中获取和处理输入的数据-简单

您应该使用的视图模型(简化):

public class YourViewModel
{
    public string TextEntered { get ; set ; }
}

视图:

@model YourViewModel
@using (Html.BeginForm())
{
    @Html.TextBoxFor(m => m.TextEntered)
    <br />
    <input id="btnStat" type="submit" value="MHM" />
}
@Html.LabelFor(m => m.TextEntered)

控制器操作方法:

[HttpPost]
public ActionResult ChangeLabelText(YourViewModel yourViewModel)
{
    return View(yourViewModel);
}



您更改的代码

index.cshtml

@model MVCTest1.Models.EnteredTextModel 

@using (Html.BeginForm()) 
{ 
    @Html.TextBoxFor(m => m.TextEntered) 
    <br /> 
    <input id="btnStat" type="submit" value="MHM" /> 
} 
@Html.LabelFor(m => m.TextEntered)

型号

namespace MVCTest1.Models 
{ 
    public class EnteredTextModel 
    { 
        public string TextEntered { get; set; } 
    } 
} 

家庭控制器

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using MVCTest1.Models ; 
namespace MVCTest1.Controllers 
{ 
    public class HomeController : Controller 
    { 
        public ActionResult Index() 
        { 
            ViewBag.Message = "Welcome to ASP.NET MVC!"; 
            return View(); 
        } 
        [HttpPost]
        public ActionResult Index(EnteredTextModel theModel) 
        { 
            return View(theModel); 
        } 
        public ActionResult About() 
        { 
            return View(); 
        } 
    } 
} 

Sypress,

最佳实践是使用视图模型进行操作。然而,在一个非常简单的级别上,完全基于上面的内容,您可以使用viewbag对象来传递回输入值。事不宜迟,该死的,我的意思是代码:):

控制器动作:

[HttpGet]
public ActionResult ChangeLabelText()
{
    return View();
}
[HttpPost]
public ActionResult ChangeLabelText(FormCollection formCollection)
{
    ViewBag.LastNameEntered = formCollection["txtName"];
    return View();
}

查看内容(当然,假设视图名为ChangeLabelText.cshtml):

@{
    ViewBag.Title = "ChangeLabelText";
}
<h2>ChangeLabelText</h2>
<form action="ChangeLabelText" method="post">
    <input id="txtMHM" type="text" name="txtName" value="" />
    <input id="btnStat" type="submit" value="Post"  />  
    <br />
    @Html.Label("Entered Text");
    <span id="spnEnteredText">@ViewBag.LastNameEntered </span>
</form>

上面的被称为http://localhost:xxxx/Home/ChangeLabelText(其中xxxx是开发服务器的端口号)

我想补充一点,老实说,这不是我处理这个问题的方式,但这是我对你的例子的直接回应。以鲨鱼为例,使用视图模型。

祝好运

[EDIT]-我已经更新了我的答案,现在我在一台机器上,所以上面的内容应该可以按预期工作。