iflybutter

1.form action

<form action="./02_demo.php" method="post" enctype="multipart/form-data">

账号: <input type="text" value="jack" name="username" placeholder="请输入账号"><br>

密码: <input type="password" value="123456" name="userpwd" placeholder="请输入账号"><br>

性别: 男<input type="radio" name="sex" value="男"> 女<input type="radio" name="sex" value="女"> 保密<input type="radio" name="sex" value="保密"><br>

 城市<select name="city">

<option value="北京">北京</option>

<option value="上海">上海</option>

<option value="广州">广州</option>

<option value="重庆">重庆</option>

<option value="天津">天津</option>

</select><br>

<button>传参</button> </form>

2.js

Ajax

Ajax的核心是XmlHttpRequest。我们通过对该对象的操作来进行异步的数据请求。jQuey中使用.ajax,.post等,Angular中使用$http。

创建XHR对象

状态变化事件

onreadystatechange()状态变化函数。readyState的取值0为未初始化,未调用open,1已open未send,2已send未回复,3回复部分,4全部回复。在后台使用推送机制的话,前端会间断的收到推送数据,状态为3。responseText包含曾经的所有推送数据,所以每次读取应该根据旧数据长度查找最新的数据的位置。

响应完成事件

无论什么响应,接收完成就触发。

响应异常事件

进度事件

lengthComputable表示进度信息是否可用,position表示已接收数,totalSize表示预期接收数。

后台接收

方式1:

  1.  
    Request.Form[""] post
  2.  
    Request.QueryString[""] get
  3.  
    System.Web.HttpContext.Current.Request

后台返回

json方式1

  1.  
    string jsonData = JsonConvert.SerializeObject(ViewData);
  2.  
    return Json(jsonData, JsonRequestBehavior.AllowGet);

Content 方式

 return Content("toastr.success(\'系统错误,重新登录\')", "application/x-javascript");  


TempData方式

  1.  
    empData["lognum"] = 4;
  2.  
    return RedirectToAction("LoginFail", "Help");

image
image
Tempdata保存在session当中,当处理完之后会清除相应session值,所以只能够传递一次

页面之间的传值

Session

  1.  
    Session["Pwd"].ToString()
  2.  
    Session["AdminUserName"]

    后端代码如下: Session["chars"] = this.DropChar.SelectedItem.ToString();
    Session["para"] = this.DropPara.SelectedItem.ToString();
    Session["enery"] = enery;
    Session["fromtime"] = StartTime1.Text;
    Session["totime"] = EndTime1.Text;

    前端代码如下:
    var enery = "<%=Session["enery"]%>";
    var para = "<%=Session["para"]%>";
    var time = "<%=Session["time"]%>";
    var fromtime = "<%=Session["fromtime"]%>";
    var totime = "<%=Session["totime"]%>";
    var fromto = fromtime.toString() + \'-\' + totime.toString()
    这样来获取到对应的session里面的属性值
    还有另外一种写法,配合input表单来使用
    <input type="hidden" id="enneryone" value=" <%= Session["enery"] %>" />
    需要注意的是此时的input表单为隐藏表单

     

    上面的方法适用于aspx,cshtml使用razor,因此使用@语法

     

    前台发送给后台

     
    json jquery
    $.ajax({
    url: "/Help/GetDepts",
    dataType: "json",
    cache: null,
    data: company,
    type: "GET",
    error: function () { toastr.warning(\'当前部门没有用户\') },
    success: function (response) {
    datanew = JSON.parse(response);
    var options = "";
    if (datanew["depts"].length > 0) {
    options += "--请选择部门--";
    for (var i = 0; i < datanew["depts"].length; i++) {
    options += "<option value=" + datanew["depts"][i]["Value"] + ">" + datanew["depts"][i]["Value"] + "";
    }
    }
    $(id).html(options);
    }

4.viewdata 和viewbag

两者可以呼唤

在后台

viewdata["nam"]=""

viewbag.nam=""

上面等价

在前台

@viewdata

或@viewbag就可以取值

分类:

技术点:

相关文章: