![](/img/trans.png)
[英]How do I Pass Selected items from one page to another page in asp.net mvc
[英]How do I diagnose why an asp.net MVC site works on one server but not another?
我有一个带有Razor站点的asp.net MVC,可以在我的PC和我们公司的测试服务器上正常工作。 但是,在客户端的Web服务器上,它会在登录页面上“卡住”。 我无法在客户端服务器上调试站点(它们没有Visual Studio),并且无法在其他任何地方重复该问题。 关于如何找到问题的任何建议? 另外,任何想法可能是什么问题?
因此,我有一个登录页面,用户在其中输入他们的用户名和密码,然后单击“登录”提交按钮。 当他们单击提交时,浏览器被“卡住”; 即“正在运行”图标旋转(我正在使用Chrome),而在页面底部则显示消息“正在等待{site name} ...”。
这是视图中的一些代码:
@using (Html.BeginForm("Login", "Admin", FormMethod.Post))
{
<label>
<b>Username</b>
</label>
@Html.TextBoxFor(m => m.UserName, new { @class = "span12" })
<span class="validation">@Html.ValidationMessageFor(m => m.UserName)</span>
<label>
<b>Password</b>
</label>
@Html.PasswordFor(m => m.Password, new { @class = "span12" })
<input id="Submit1" type="submit" value="Sign In" class="btn btn-primary pull-right" />
}
这是控制器的一部分。 我省略了一些错误处理,但是您会发现这是一个简单的“检查用户名和密码是否存在”操作。
[HttpPost]
public ActionResult Login(ModelAdminLogin Model)
{
if (ModelState.IsValid)
{
LoginResponse Res = obj_bllCA.Login(Model.UserName, Model.Password);
if (Res.LoginStatus)
{
return RedirectToAction("Index");
}
}
return View(Model);
}
在登录页面上,输入登录信息并单击登录后,它“旋转”几分钟,然后显示“找不到页面”消息:
奇怪的是,如果您单击刷新,则会显示用户已登录的正确页面。
同样,在Visual Studio的PC和公司的Web服务器上,登录过程可以正常进行。 用户输入用户名和密码,单击“登录”,然后将它们带到下一页。 仅在客户端的服务器上,它才转至缺少的页面。
更新#1
使用Fiddler,我得到此错误消息显示:
ReadResponse()失败:服务器未对此请求返回完整的响应。 服务器返回了0个字节。
使用Chrome工具,单击提交按钮后,它会停滞:
好像没有发布到控制器。 有人对如何解决这个问题有建议吗?
基于ReadResponse错误,似乎是IIS配置问题:
一般来说:
答案是,客户端已在IIS中将站点设置为安全站点。 我必须使用https://sitename.com而不是sitename.com或http://sitename.com 。 一旦完成该操作,所有页面都将起作用。 我不明白为什么原始页面在没有https的情况下起作用,或者为什么单击刷新会显示没有https的正确页面,所以如果有人对此有任何输入,请告诉我。 否则,https是整个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.