需求描述:专业分流系统中,学生在选择志愿时,我想实现在页面按照点击相应专业的顺序来设置选专业的志愿,如首先点击“工商”,则工商专业为第一志愿,接着点击“营销”,则营销专业为第二志愿,以此类推。从而达到所选志愿不会重复的效果。以下是我的实现方法。

html控件用js赋值之后可以在页面中显示,但后台无法获取改变之后的值。因此我用了一个比较笨的办法,就是加一个隐藏的服务器控件,后台用Request.Form方法取这个隐藏控件的值。大佬们有更好的方法欢迎赐教。

JS

   <script type="text/javascript">
$(".chooseitem").click(function () {
var thisText = $(this).text();
var aLength = $(".selected").length;
var thisDataId = $(this).attr("data-id"); if ($(this).hasClass("whitesmoke")) {
return false;
}
$(this).addClass("whitesmoke");
$(".tdlable").eq(aLength).html("<label class='ddl selected' data-id='" + thisDataId + "' id='Label" + thisDataId + "'>" + thisText + "</label>");
$(".hiddenddl").eq(aLength).val(thisDataId);
});;
function cancel() {
$(".chooseitem").removeClass("whitesmoke");
$(".ddl").empty();
}
</script>

前台代码

      <div class="choose">
<div class="chooseitem" data-id="">人力</div>
<div class="chooseitem" data-id="">信管</div>
<div class="chooseitem" data-id="">工商</div>
<div class="chooseitem" data-id="">营销</div>
<div class="chooseitem" data-id="">公管</div>
<div class="chooseitem" data-id="">财务ACCA</div>
<div class="chooseitem" data-id="">会计</div>
</div>
<div id="wish">
<table>
<tr>
<td class="td1">第一志愿:</td>
<td class="tdlable"></td>
</tr>
<tr>
<td class="td1">第二志愿:</td>
<td class="tdlable"></td>
</tr>
<tr>
<td class="td1">第三志愿:</td>
<td class="tdlable"></td>
</tr>
<tr>
<td class="td1">第四志愿:</td>
<td class="tdlable"></td>
</tr>
<tr>
<td class="td1">第五志愿:</td>
<td class="tdlable"></td>
</tr>
<tr>
<td class="td1">第六志愿:</td>
<td class="tdlable"></td>
</tr>
<tr>
<td class="td1">第七志愿:</td>
<td class="tdlable"></td>
</tr>
<tr style="height:50px">
<td colspan="" style="text-align:center;">
<asp:Button ID="btnSave" runat="server" Text="保存" OnClick="btnSaveClick"/>
<asp:Button ID="btnCancel" runat="server" Text="重新选择" OnClientClick="cancel();"/>
</td>
</tr>
</table>
</div>
</div>
</div>
<table class="hiddenTb"> //这里设置display=none <tr>
<td class="td1">第一志愿:</td>
<td><asp:DropDownList ID="ddlOne" runat="server" CssClass="hiddenddl" ></asp:DropDownList></td>
</tr>
<tr>
<td class="td1">第二志愿:</td>
<td><asp:DropDownList ID="ddlTwo" runat="server" CssClass="hiddenddl" ></asp:DropDownList></td>
</tr>
<tr>
<td class="td1">第三志愿:</td>
<td><asp:DropDownList ID="ddlThree" runat="server" CssClass="hiddenddl" ></asp:DropDownList></td>
</tr>
<tr>
<td class="td1">第四志愿:</td>
<td><asp:DropDownList ID="ddlFour" runat="server" CssClass="hiddenddl" ></asp:DropDownList></td>
</tr>
<tr>
<td class="td1">第五志愿:</td>
<td><asp:DropDownList ID="ddlFive" runat="server" CssClass="hiddenddl" ></asp:DropDownList></td>
</tr>
<tr>
<td class="td1">第六志愿:</td>
<td><asp:DropDownList ID="ddlSix" runat="server" CssClass="hiddenddl" ></asp:DropDownList></td>
</tr>
<tr>
<td class="td1">第七志愿:</td>
<td><asp:DropDownList ID="ddlSeven" runat="server" CssClass="hiddenddl" ></asp:DropDownList></td>
</tr>
</table>
</div>

后台代码

    protected void LoadData()
{
int StuID = Convert.ToInt32(Session["UserNo"].ToString());
DepartmentMIS.Model.StuInfo StuModel = StuBLL.GetModel(StuID); //给隐藏控件绑定值,方便后续取值
ddlOne.DataSource = DepBLL.GetList("isDeleted = 0");
ddlOne.DataTextField = "department";
ddlOne.DataValueField = "id";
ddlOne.DataBind();
if (StuModel.department1.ToString() != "")
{
ddlOne.SelectedValue = StuModel.department1.ToString();
}
else { ddlOne.SelectedValue = ""; } ddlTwo.DataSource = DepBLL.GetList("isDeleted = 0");
ddlTwo.DataTextField = "department";
ddlTwo.DataValueField = "id";
ddlTwo.DataBind();
if (StuModel.department2.ToString() != "")
{
ddlTwo.SelectedValue = StuModel.department2.ToString();
}
else { ddlTwo.SelectedValue = ""; } ddlThree.DataSource = DepBLL.GetList("isDeleted = 0");
ddlThree.DataTextField = "department";
ddlThree.DataValueField = "id";
ddlThree.DataBind();
if (StuModel.department3.ToString() != "")
{
ddlThree.SelectedValue = StuModel.department3.ToString();
}
else { ddlThree.SelectedValue = ""; } ddlFour.DataSource = DepBLL.GetList("isDeleted = 0");
ddlFour.DataTextField = "department";
ddlFour.DataValueField = "id";
ddlFour.DataBind();
if (StuModel.department4.ToString() != "")
{
ddlFour.SelectedValue = StuModel.department4.ToString();
}
else { ddlFour.SelectedValue = ""; } ddlFive.DataSource = DepBLL.GetList("isDeleted = 0");
ddlFive.DataTextField = "department";
ddlFive.DataValueField = "id";
ddlFive.DataBind();
if (StuModel.department5.ToString() != "")
{
ddlFive.SelectedValue = StuModel.department5.ToString();
}
else { ddlFive.SelectedValue = ""; } ddlSix.DataSource = DepBLL.GetList("isDeleted = 0");
ddlSix.DataTextField = "department";
ddlSix.DataValueField = "id";
ddlSix.DataBind();
if (StuModel.department6.ToString() != "")
{
ddlSix.SelectedValue = StuModel.department6.ToString();
}
else { ddlSix.SelectedValue = ""; } ddlSeven.DataSource = DepBLL.GetList("isDeleted = 0");
ddlSeven.DataTextField = "department";
ddlSeven.DataValueField = "id";
ddlSeven.DataBind();
if (StuModel.department7.ToString() != "")
{
ddlSeven.SelectedValue = StuModel.department7.ToString();
}
else { ddlSeven.SelectedValue = ""; }
} protected void btnSaveClick(object sender, EventArgs e)
{ int StuID = Convert.ToInt32(Session["UserNo"].ToString()); DepartmentMIS.Model.StuInfo StuModel = StuBLL.GetModel(StuID); StuModel.department1 = Convert.ToInt32(Request.Form[ddlOne.ClientID]);
StuModel.department2 = Convert.ToInt32(Request.Form[ddlTwo.ClientID]);
StuModel.department3 = Convert.ToInt32(Request.Form[ddlThree.ClientID]);
StuModel.department4 = Convert.ToInt32(Request.Form[ddlFour.ClientID]); ;
StuModel.department5 = Convert.ToInt32(Request.Form[ddlFive.ClientID]);
StuModel.department6 = Convert.ToInt32(Request.Form[ddlSix.ClientID]);
StuModel.department7 = Convert.ToInt32(Request.Form[ddlSeven.ClientID]); StuModel.updateTime = DateTime.Now; StuBLL.Update(StuModel);
Response.Redirect("stuWishChoices.aspx"); }

js重写页面之后后台如何获取重写后的控件值的更多相关文章

  1. js如何获取asp.net服务器端控件的值(label,textbox,dropdownlist,radiobuttonlist等)

    js如何获取asp.net服务器端控件的值(label,textbox,dropdownlist,radiobuttonlist等) 欢迎访问原稿:http://hi.baidu.com/2wixia ...

  2. Js获取file上传控件的文件路径总结

    总结一个获取file上传控件文件路径的方法 firefox由于保护机制只有文件名,不能获取完整路径. document.getElementById('file').onchange = functi ...

  3. javascript获取asp.net服务器端控件的值

    代码如下: <%@ Page Language="C#" CodeFile="A.aspx.cs" Inherits="OrderManage_ ...

  4. FineReport——获取控件值和单元格值

    设置单元格的值(填报预览): //contentPane.setCellValue(1,0,"abc");//参数面板给单元格赋实际值,即可填报 contentPane.curLG ...

  5. ASP.NET 后台不识别ASPX中的控件

    请问后台不识别ASPX中的控件,怎么解决 这个程序是在网上下载的 C# code <asp:DataGrid runat="server" ID="dgList1& ...

  6. js上传插件uploadify自动检测不到flash控件的问题

    [问题描述] 项目开发中,由于使用了js的一个上传插件uploadify,下载的是flash版本的,后来在谷歌浏览器上运行时经常报flash控件未安装,虽然下图是uploadify自动检测自动弹出来的 ...

  7. Winform 获取当前单击的控件名称 和 向窗体添加控件

    Winform如何获取当前单击的控件名称,比如有100个Button 和一个button_Click()的按钮事件 ,分别点击不同按钮后显示所点击的按钮名称?private void button_C ...

  8. MFC获取光标相对于控件所在行

    获取光标在控件上所在的行数 /*editControl为Edit Control的变量*/ CPoint point = editControl.GetCaretPos(); //获取光标相对于控件的 ...

  9. [Ext JS 4] 实战之 带week(星期)的日期选择控件(三)

    前言 在 [Ext JS 4] 实战之 带week(星期)的日期选择控件(二) 的最后,有提到一个解决方案. 不过这方案有一个条件  ==> “2. 每年的周数从(1-52), 如果超过52 周 ...

随机推荐

  1. Vue.js与React的全面对比

    Vue与React的对比 Vue.js与React.js从某些反面来说很相似,通过两个框架的学习,有时候对一些用法会有一点思考,为加深学习的思索,特翻阅了两个文档,从以下各方面进行了对比,加深了对这两 ...

  2. [转帖]两张图看懂GDT、GDTR、LDT、LDTR的关系

    两张图看懂GDT.GDTR.LDT.LDTR的关系 2018-06-09 18:13:53 Six_666A 阅读数 2044更多 分类专栏: 深入理解linux内核   转自:http://ju.o ...

  3. linux下使用Oracle常用命令

    进入Oracle用户 su - oracle 以dba身份进入sql语句 sqlplus / as sysdba 启动数据库相关命令启动数据库 startup 启动监听(关闭监听的命令lsnrctl ...

  4. Mongo Document 校验

    Mongo Datamodel Validation mongo insert,update document时候的校验规则 指定validation rules new collection db. ...

  5. java输入输出 -- I/O模型简述

    一.简介 本文向大家介绍五种I/O模型.分别是阻塞I/O.非阻塞I/O.I/O复用.信号驱动式I/O.异步I/O等.内容参考<UNIX网络编程>,大家想进深入学习网络编程,建议去读读这本书 ...

  6. JMeter断言介绍

    (1)作用:用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致 (2)目的:在request的返回层面增加一层判断机制:因为request成功了,并不代表结果一定正 ...

  7. Python学习5——抽象,涉及抽象和结构、函数的自定义、参数、作用域、递归

    此处将抽象和结构.自定义函数.参数的使用.作用域.递归放在一起学习,看起来很怪是不是? 但实际上这几者之间是有紧密联系的,不然Python基础教程(第三版)的作者为什么会把它们放在一起哪?手动滑稽 好 ...

  8. package.json 版本解释

    指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本.波浪号(tilde)+ 指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不 ...

  9. Linux删除Tomcat中产生的所有log文件

    #!/bin/bash #!/bin/bash #exact all log files #计算log文件个数log_number=`ls *.log |grep log -c` #当log文件数大于 ...

  10. 103 保序回归 isotonic regression

    103 保序回归 isotonic regression 2016-03-30 11:25:27 bea_tree 阅读数 6895   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...