无法在asp.net mvc页面中看到文本框

时间:2013-07-24 08:40:49

标签: c# asp.net-mvc asp.net-mvc-4

我是asp.net mvc的新手,这是我的第一个示例项目,当用户在该文本框中输入值时,我需要在一个视图中显示一个文本框,我需要在另一个视图中的标签中显示该值。 因为我这样做了..

这是我的控制器类

public class TextBoxController : Controller
{
  //
  // GET: /TextBox/

   public ActionResult Index()
   {
     return View();
   }
}

这是我的模型类

namespace MvcTestApplication.Models
{
  public class TextboxModel
  {
    [Required]
    [Display(Name= "Textbox1")]
    public string EnteredValue { get; set; }
  } 
}

这是我的观点

@model MvcTestApplication.Models.TextboxModel

@{
  ViewBag.Title = "TextboxView";
}

<h2>TextboxView</h2>
@using (Html.BeginForm())
{
   <div>
   <fieldset>
       <legend>Enter Textbox Value</legend>
       <div class ="editor-label">
       @Html.LabelFor(m => m.EnteredValue)
       </div>
       <div class="editor-field">
           @Html.TextBoxFor(m=>m.EnteredValue)
       </div>
       <p>
            <input type="submit" value="Submit Value" />
        </p>
     </fieldset>
   </div>
 }

我无法在页面上看到任何文本框和任何按钮,我收到错误

HTTP:404:无法找到资源

我正在使用visual studio 2012和mvc4 ..

任何人都会对此提出任何建议。 非常感谢..

2 个答案:

答案 0 :(得分:1)

<强>重写

简单来说,要访问ASP.NET MVC上的页面,您应该将URL指向其控制器名称。在这种情况下,TextBox

localhost:2234/TextBox/TextBox

此外,您忘记为此新视图添加ActionResult。当您加载页面时,它会通过Index一个,这是空的。

最终代码应如下所示:

<强>控制器

public class TextBoxController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult TextBox(MvcApplication1.Models.TextBoxModel model)
    {
        return View(model);
    }

}

<强>模型

public class TextBoxModel
{
    [Required]
    [Display(Name = "Textbox1")]
    public string EnteredValue { get; set; }
}

Razor View(索引)

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

Razor View(TextBox)

@model MvcApplication1.Models.TextBoxModel

@{
    ViewBag.Title = "TextBox";
}

<h2>TextBox</h2>
@using (Html.BeginForm())
{
<div>
    <fieldset>
        <legend>Enter Textbox Value</legend>
        <div class ="editor-label">
            @Html.LabelFor(m => m.EnteredValue)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(m=>m.EnteredValue)
        </div>
        <p>
            <input type="submit" value="Submit Value" />
        </p>
    </fieldset>
</div>
 }

答案 1 :(得分:0)

确保您已通过路线配置注册了网址。

详细了解asp.net路由 here

更新:

确保您的视图的文件名为Index.cshtml ,因为您的控制器未指定任何返回视图名称。