Asp.net mvc MVC视图/表单未回发到自身

Asp.net mvc MVC视图/表单未回发到自身,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我已经用更多信息更新了问题。 我有这样的观点(简化版): @使用(Html.BeginForm()) { @Html.ValidationSummary(false) @LabelFor(model=>model.UserName) @EditorFor(model=>model.UserName) @Html.ValidationMessageFor(model=>model.UserName) @LabelFor(model=>model.Password) @Html.PasswordFo

我已经用更多信息更新了问题。

我有这样的观点(简化版):

@使用(Html.BeginForm())
{
@Html.ValidationSummary(false)
@LabelFor(model=>model.UserName)
@EditorFor(model=>model.UserName)
@Html.ValidationMessageFor(model=>model.UserName)
@LabelFor(model=>model.Password)
@Html.PasswordFor(model=>model.Password)
@Html.ValidationMessageFor(model=>model.Password)
@LabelFor(model=>model.RememberMe)
@CheckBoxFor(model=>model.RememberMe)
}
突然,在过去3个小时里集成了很多其他代码的时候,我注意到刚才我的视图已经不再引起post/back。这是一个简单的登录表单

我看到这里没有提交类型。但我想知道它是如何在早些时候发回自己的。 我应该换什么

更新

我刚刚意识到它没有发回索引(httpPost),因为我在同一个控制器中有一个CheckUserName远程验证。当我删除远程验证时,它会工作。如果我把它介绍回来,它就不会。这是我的远程验证

[AllowAnonymous]
public JsonResult CheckUserName(string userName)
{
    using (var context = new Presentation.Models.PMSEntities())
    {
        context.ContextOptions.LazyLoadingEnabled = false;

        Func<User, bool> predicate = u => u.UserName.SameAs(userName) && u.Status.SameAs("Active");

        return Json(context.Users.Any(predicate), JsonRequestBehavior.AllowGet);
    }
}
[AllowAnonymous]
公共JsonResult检查用户名(字符串用户名)
{
使用(var context=new Presentation.Models.pmsenties())
{
context.ContextOptions.LazyLoadingEnabled=false;
Func predicate=u=>u.UserName.SameAs(用户名)和&u.Status.SameAs(“活动”);
返回Json(context.Users.Any(谓词),JsonRequestBehavior.AllowGet);
}
}
我在相应的字段上设置了
RemoteAttribute

试试这个

对于简单表单,只需在操作方法上使用[HttpPost]

您可以在上载文件或处理复杂表单时尝试此操作


@Html.BeginForm(“操作”,“控制器”,新建{SearchModel=Model},FormMethod.Post)

input
,其中
type=“image”
充当提交按钮。您缺少src属性的引号-
@Url.Content
返回不带引号的Url,请尝试添加它们。

调用
Html.BeginForm()
将创建一个发布到当前操作的
。 您需要将操作名称传递给
BeginForm

例:


你有源码控制权吗?进行历史记录比较,看看发生了什么变化。是的,自它工作以来,您做了哪些子问题代码更改。您确定控制器中仍有POST方法吗?它是否显示任何验证错误?您可以使用firefox中的
Fiddler
Firebug检查请求
[AllowAnonymous]
public JsonResult CheckUserName(string userName)
{
    using (var context = new Presentation.Models.PMSEntities())
    {
        context.ContextOptions.LazyLoadingEnabled = false;

        Func<User, bool> predicate = u => u.UserName.SameAs(userName) && u.Status.SameAs("Active");

        return Json(context.Users.Any(predicate), JsonRequestBehavior.AllowGet);
    }
}
    @using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post))
    {
    }