问题描述
点击评价订单页面判断订单是否可以评价,如果可以评价需要打开一个新标签页面,如果不可以评价则在本页面给出弹框提示用mvc做的,求代码思路///<summary>///评价订单///</summary>///<returns></returns>publicActionResultCommentOrder(intid,stringpageName){stringuserID=User.CurrentUser().UserID;//得到用户编号ViewData["orderID"]=id;intorderID=id;intresult;vari_Order=OrderSystem.OrderDetailByOrderIDandUserID(orderID,userID,outresult);ViewBag.pageName=pageName;switch(result){case-3://returnJavaScript("<script>window.alert('订单号后"+id.ToString().Length+"为:"+id+"的订单已评价或暂时无法评价!');location.href='/Order/MyOrder.html';</script>");returnJavaScript("alert('验证失败!)");case-2:returnJavaScript("<script>window.alert('订单号后"+id.ToString().Length+"为:"+id+"的订单错误!');location.href='/Order/MyOrder.html';</script>");default:if(i_Order==null)returnRedirectToAction("MyOrder");elsereturnView(i_Order);}}这样写会出现本人才接触mvc4,求帮助
解决方案
解决方案二:
JavaScriptResult本质就是一段文本内容,使用Ajax可以直接弹出,如果你想弹窗可以参考:http://www.cnblogs.com/artech/archive/2012/08/15/action-result-03.html我建议你使用Content方法,返回客户端时,再输出js。returnContent("<script>alert('哈哈!')</script>");
解决方案三:
mvc不建议直接在controller输出警告提示可以考虑这样,点击评价时直接ajax判断能否评价,不能评价在jquery里直接写警告窗如:html<divid="pingjia"data-id="1(这里为评价商品id“>提交评价</div>js:$(document).ready(function(){$("#pingjia").click(function(){varid=$(this).attr("data-id");$.ajax({url:"xxxx/checkpj",data:{id:id},type:"post",success:function(data){if(data!="ok"){alert(data);}}})}})controller:publicstringcheckpj(intid){stringstr="error";//这里写一些判断条件,如果可以提交评价就str="ok",否则直接str="需要弹窗的消息提示"returnstr}
解决方案四:
Response.Write("<script>alert('弹不弹')</script>");Response.End();returnnewEmptyResult();
解决方案五:
returnContenct("alert('验证失败!)",“text/html”);好像我听说MVC里边的JavaScript是个BUG,不能返回JS代码~~~~~
解决方案六:
aps.netMVC好像不大提倡弹框,你自定义Html.ValidationSummary显示到页面就达到效果了
解决方案七:
还是通过Ajax返回进行弹出效果好些。
解决方案八:
mvc不建议直接在controller输出警告提示引用1楼luanjun123456的回复:
JavaScriptResult本质就是一段文本内容,使用Ajax可以直接弹出,如果你想弹窗可以参考:http://www.cnblogs.com/artech/archive/2012/08/15/action-result-03.html我建议你使用Content方法,返回客户端时,再输出js。returnContent("<script>alert('哈哈!')</script>");
如果在controller里输出js就违背了mvc设计的初衷,可以在在controller里这样写:publicJsonResultTest(){returnJson(new{status=2,msg="用户已存在"},JsonRequestBehavior.AllowGet);}在html页面中,根据服务器返回的json状态,来输出js$.get('/Controller/Test,function(data){switch(data.status){case0://alert('')break;default://break;}});