js重写页面之后后台如何获取重写后的控件值
需求描述:专业分流系统中,学生在选择志愿时,我想实现在页面按照点击相应专业的顺序来设置选专业的志愿,如首先点击“工商”,则工商专业为第一志愿,接着点击“营销”,则营销专业为第二志愿,以此类推。从而达到所选志愿不会重复的效果。以下是我的实现方法。
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重写页面之后后台如何获取重写后的控件值的更多相关文章
- js如何获取asp.net服务器端控件的值(label,textbox,dropdownlist,radiobuttonlist等)
js如何获取asp.net服务器端控件的值(label,textbox,dropdownlist,radiobuttonlist等) 欢迎访问原稿:http://hi.baidu.com/2wixia ...
- Js获取file上传控件的文件路径总结
总结一个获取file上传控件文件路径的方法 firefox由于保护机制只有文件名,不能获取完整路径. document.getElementById('file').onchange = functi ...
- javascript获取asp.net服务器端控件的值
代码如下: <%@ Page Language="C#" CodeFile="A.aspx.cs" Inherits="OrderManage_ ...
- FineReport——获取控件值和单元格值
设置单元格的值(填报预览): //contentPane.setCellValue(1,0,"abc");//参数面板给单元格赋实际值,即可填报 contentPane.curLG ...
- ASP.NET 后台不识别ASPX中的控件
请问后台不识别ASPX中的控件,怎么解决 这个程序是在网上下载的 C# code <asp:DataGrid runat="server" ID="dgList1& ...
- js上传插件uploadify自动检测不到flash控件的问题
[问题描述] 项目开发中,由于使用了js的一个上传插件uploadify,下载的是flash版本的,后来在谷歌浏览器上运行时经常报flash控件未安装,虽然下图是uploadify自动检测自动弹出来的 ...
- Winform 获取当前单击的控件名称 和 向窗体添加控件
Winform如何获取当前单击的控件名称,比如有100个Button 和一个button_Click()的按钮事件 ,分别点击不同按钮后显示所点击的按钮名称?private void button_C ...
- MFC获取光标相对于控件所在行
获取光标在控件上所在的行数 /*editControl为Edit Control的变量*/ CPoint point = editControl.GetCaretPos(); //获取光标相对于控件的 ...
- [Ext JS 4] 实战之 带week(星期)的日期选择控件(三)
前言 在 [Ext JS 4] 实战之 带week(星期)的日期选择控件(二) 的最后,有提到一个解决方案. 不过这方案有一个条件 ==> “2. 每年的周数从(1-52), 如果超过52 周 ...
随机推荐
- 深入理解linux内核-内存寻址
逻辑地址:由一个段和偏移量组成的地址线性地址(虚拟地址):物理地址:CPU的物理地址线相对应的地址32或36位 多处理器系统中每个CPU对应一个GDT 局部线程存储:用于线程内部的各个函数调用都能访问 ...
- 《Mysql 一条 SQL 语句是如何执行的?》
一:概述 - 首先需要认识一下 Mysql 整体的基础架构 - 二:Mysql 的分层 - MySQL 可以分为 Server 层和存储引擎层两部分 - Server 层 - Server 层包括连 ...
- Linux下的静态库与动态库的生成与调用
静态库与动态库 静态函数库 这类库的名字一般是libxxx.a,xxx为库的名字.利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行 ...
- 第2章:LeetCode--第二部分
本部分是非Top的一些常见题型及不常见题 LeetCode -- Longest Palindromic Substring class Solution { public: int isPalind ...
- linux破解navicat for mysql
第一次执行start_navicat时,会在用户主目录下生成一个名为.navicat64的隐藏文件夹. cd ~/.navicat64 此文件夹下有一个system.reg文件 rm system.r ...
- js — 对象
目录 1. 字符串和数值之间转换 2. 对象(object) 3. 日期对象 4. 数学Math对象 5. 流程控制 6. 循环 1. 字符串和数值之间转换 1.字符串转数值 var str = '1 ...
- python笔记005-字符串-列表-元组
目录 1 上次作业补充拓展... 1 1.1 进制转换... 1 1.2 类型判断... 1 2 今日学习内容... 2 2.1 格式化输出... 2 2.2 基本运算符... 2 2.2.1 算术运 ...
- 【规律】Parentheses
Parentheses 题目描述 Dave loves strings consisting only of '(' and ')'. Especially, he is interested in ...
- 解决使用绝对定位absolute后,margin:0 auto居中方法失效(转)
https://blog.csdn.net/qq_40678503/article/details/82780680
- dockerfile相关命令
官方dockerfile:https://github.com/play-with-docker/play-with-docker 可以根据一直的镜像,学习dockerfile的编写 dockerfi ...