后台获取前台confirm返回值,实现不了,请教大家针对这种情况都是怎么处理的。
前台数据处理完了。绑定到一个hiddem隐藏表单域控件,直接在后台取行吗?
不行的,因为前后台要交互,后台要等前台的返回结果执行后续操作。现在暂时解决了,把这个处理单独成一个事件,然后前台通过postback调用。但是看起来有点别扭。
拿到返回值,在提交到后台去~
是我没说清楚,后台流程是这样的:
后台代码
if(前台confirm==true)
{
后台代码
}
else
后台代码
你在表单里面加一个隐藏字段来接收confirm的返回值传到后台就能获取了
是我没说清楚,后台流程是这样的:
后台代码
if(前台confirm==true)
{
后台代码
}
else
后台代码
@清海扬波:额,我说的就是你的这个意思啊,只不过前台confirm需要替换成表单里面的隐藏字段
@刘宏玺: 但是这里的代码如果就这样写,前台confirm还没显示出来,这里的代码已经执行完了。前台的结果能不能取到都没用了。
@清海扬波: 哦哦,我懂了,看来你是winform做多了,你在后台是不可以这样弄得,倒是可以在前台写这种js代码,如果你需要这种逻辑的判断,你需要在前台吧所有的需要用户做判断的地方统一收集起来一次线传到后台,这样才是合理的做法
@刘宏玺: 是啊,现在就是业务上面有这样的需求,但是bs好像不好处理,winform这个问题根本就不是个问题。
@清海扬波: 你写js代码来实现吧,不然很麻烦的
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="jquery-1.7.1.js"></script> <script type="text/javascript"> function A() { var a = confirm("你要选择么?"); $("#AAA").val(a); $("#form1").submit(); } </script> </head> <body> <form id="form1" runat="server"> <div> <input type="button" value="点我" onclick="A();"/> <input type="hidden" id="AAA" name="AAA"/> </div> </form> </body> </html>
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("你在后台获取到前台提交的值为:"+Request.Form["AAA"]);
}
}
}
在调用A之前先要执行一段后台代码,才决定要不要调用A方法,然后根据返回值继续后续处理。你这个代码虽然有效果,但是在实际项目里面不能这样写。还是谢谢你。