从视图发布到控制器可以正常工作,但会出错

时间:2014-09-09 03:14:19

标签: asp.net-mvc asp.net-mvc-3

我的视图中有一个表单,它在控制器中调用一个动作。

我的观点:

    @using(Html.BeginForm("MethodInController","Controller",FormMethod.Post))
    { 

        <label for="firstname">Name:</label> 
        <input type="text" name="firstname" /> 
        <br />
        <input type="submit" name="submit" />
    }

我的控制器操作:

        [HttpPost]       
        public ActionResult MethodInController(string firstname)
        {
            string test = (string)ViewData["sbnamespace"];
            return View();
        }

这很好用。唯一的问题是,当我点击我的视图上的提交按钮时,它会尝试导航到我的控制器,如下所示:http://mysite.azurewebsites.net/Controller/MethodInController我登陆azure网站的默认错误页面。

我只是想知道是否有办法发布数据而不导航到不同的页面。

谢谢!

1 个答案:

答案 0 :(得分:1)

请看看这个,我怀疑这是正在发生的事情,控制器和视图是项目中的文件夹,以使其更清晰

enter image description here

所以它是这样的,在一个控制器内部:

//when you navigate to this page
public ActionResult Index()
{
    return View();
}

//when you submit on this page
[HttpPost]
public ActionResult Index(string firstname)
{
    string test = (string)ViewData["sbnamespace"];
    return View();
}

并在索引页面内:

@using(Html.BeginForm())
{ 

    <label for="firstname">Name:</label> 
    <input type="text" name="firstname" /> 
    <br />
    <input type="submit" name="submit" />
}