在本地调试时都是正常的,可是部署到远程服务器后,同样的界面提交会重复多次,而且会出现乱码。
前台代码:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="form-horizontal">
@Html.HiddenFor(model => model.Id)
@Html.HiddenFor(model => model.CreateBy)
<fieldset>
<legend>SOA项</legend>
<div class="form-group">
<input type="button" id="btn_AddSOA" class="btn btn-success" style="float:right;margin-right:20px" data-toggle="modal" data-target="#myModal_soa" value="添加SOA模板" />
</div>
<div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Name, new { @class="form-control"})
@Html.ValidationMessageFor(model => model.Name)
</div>
后台代码: [HttpPost] [ValidateInput(false)]
public ActionResult Edit([Bind(Include = "Id,SOAType,SOAUrl,SOAString,,SOAJson,Name,ItemType,Environment,Content,Description")] SOAWorkItem soaworkitem)
{
if (ModelState.IsValid)
{
LogHelper.WriteInfoLog("Edit2-"+soaworkitem.Name + "," + soaworkitem.SOAString);
db.Entry(soaworkitem).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(soaworkitem);
}
通过日志查看,可以看到这个页面提交后重复了多次,而且有乱码
2016-02-19 15:44:08,454 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:09,368 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:09,743 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,abcdefg
2016-02-19 15:44:09,790 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:09,909 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:09,997 [43] INFO loginfo [(null)] - Edit2-abcdefg,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,133 [109] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,287 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,378 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,abcde<abcfg>efg
2016-02-19 15:44:10,502 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,690 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,768 [123] INFO loginfo [(null)] - Edit2-abcde<abcfg>efg,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,881 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,997 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:11,038 [109] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:11,105 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
前台代码:
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="form-horizontal">
@Html.HiddenFor(model => model.Id)
@Html.HiddenFor(model => model.CreateBy)
<fieldset>
<legend>SOA项</legend>
<div class="form-group">
<input type="button" id="btn_AddSOA" class="btn btn-success" style="float:right;margin-right:20px" data-toggle="modal" data-target="#myModal_soa" value="添加SOA模板" />
</div>
<div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Name, new { @class="form-control"})
@Html.ValidationMessageFor(model => model.Name)
</div>
后台代码: [HttpPost] [ValidateInput(false)]
public ActionResult Edit([Bind(Include = "Id,SOAType,SOAUrl,SOAString,,SOAJson,Name,ItemType,Environment,Content,Description")] SOAWorkItem soaworkitem)
{
if (ModelState.IsValid)
{
LogHelper.WriteInfoLog("Edit2-"+soaworkitem.Name + "," + soaworkitem.SOAString);
db.Entry(soaworkitem).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(soaworkitem);
}
通过日志查看,可以看到这个页面提交后重复了多次,而且有乱码
2016-02-19 15:44:08,454 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:09,368 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:09,743 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,abcdefg
2016-02-19 15:44:09,790 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:09,909 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:09,997 [43] INFO loginfo [(null)] - Edit2-abcdefg,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,133 [109] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,287 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,378 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,abcde<abcfg>efg
2016-02-19 15:44:10,502 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,690 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,768 [123] INFO loginfo [(null)] - Edit2-abcde<abcfg>efg,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,881 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,997 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:11,038 [109] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:11,105 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
System.Web.HttpUtility.UrlDecode(你的字符串)
谢谢你的回复,提交都是在@using (Html.BeginForm())里的,比如
@Html.TextBoxFor(model => model.Name, new { @class="form-control"})这个字段,我怎么转换编码呢?MVC不会自动转码吗?
谢谢你的回复,提交都是在@using (Html.BeginForm())里的,比如
@Html.TextBoxFor(model => model.Name, new { @class="form-control"})这个字段,我怎么转换编码呢?MVC不会自动转码吗?后台action里面,使用System.Web.HttpUtility.UrlDecode 试试
谢谢你的回复,提交都是在@using (Html.BeginForm())里的,比如
@Html.TextBoxFor(model => model.Name, new { @class="form-control"})这个字段,我怎么转换编码呢?MVC不会自动转码吗?后台action里面,使用System.Web.HttpUtility.UrlDecode 试试还是有乱码,关键是我在本地调试的时候,Action只被调用一次,但是部署到远程的IIS上,Action在一次提交时被调用了N次,而且有乱码,怀疑是不是IIS配置问题啊。
用Fiddler看过,就一个请求,可以是我在Action里的Log被执行了多次,就是问题里的日志:
2016-02-19 15:44:10,133 [109] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,287 [134] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,378 [138] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,abcde<abcfg>efg
2016-02-19 15:44:10,502 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,690 [43] INFO loginfo [(null)] - Edit2-SOA%C3%FB%B3%C6,SOA%C3%FB%B3%C6
2016-02-19 15:44:10,768 [123] INFO loginfo [(null)] - Edit2-abcde<abcfg>efg,SOA%C3%FB%B3%C6
所以很奇怪啊