• 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="1">人力</div>
                            <div class="chooseitem"  data-id="2">信管</div>
                            <div class="chooseitem"  data-id="3">工商</div>
                            <div class="chooseitem"  data-id="4">营销</div>
                            <div class="chooseitem"  data-id="5">公管</div>
                            <div class="chooseitem"  data-id="6">财务ACCA</div>
                            <div class="chooseitem"  data-id="7">会计</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="2" 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 = "1"; }
    
                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 = "2"; }
    
                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 = "3"; }
    
                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 = "4"; }
    
                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 = "5"; }
    
                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 = "6"; }
    
                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 = "7"; }
            }
    
            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"); }
  • 相关阅读:
    ConcurrentDictionary内部机制粗解
    c# class struct区别
    virtualbox安装增强功能时【未能加载虚拟光盘】
    【C++】 友元函数friend
    C++命名空间(namespace)(转载)
    C++中memset()用法
    C++ 虚函数和纯虚函数的区别
    C++中栈和堆上建立对象的区别(转载)
    c++继承
    C++构造函数和析构函数
  • 原文地址:https://www.cnblogs.com/zhenguoli/p/6760384.html
Copyright © 2020-2023  润新知