asp.net中ListBox在jQuery中遇到的問題——直接傳值到不了後台
<%@ Page Title="" Language="C#" MasterPageFile="~/Manager.Master" CodeBehind="ManagerSendMessage.aspx.cs" Inherits="TeacherFiles.ManagerSendMessage" EnableEventValidation="false"%>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolderContent" runat="server">
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
var lstboxAllTeachersID = "#"+'<%=lstboxAllTeachers.ClientID%>';
var lstboxSelectdTeachersID="#"+'<%=lstboxSelectdTeachers.ClientID%>';
var imabtnSendMessageID="#"+'<%=imabtnSendMessage.ClientID%>';
var hiddenFileID="#"+'<%=HiddenField1.ClientID%>';
$('fieldset ul li img').click(function(){
var options;
var remove;
// 把選擇項追加給對方
if($(this).attr("alt")=="arrowAdd")
{
options= $(lstboxAllTeachersID+" option:selected");
remove=options.remove();
remove.appendTo(lstboxSelectdTeachersID);
}
// 把選擇項退回給對方
if($(this).attr("alt")=="arrowDelete")
{
options=$(lstboxSelectdTeachersID+" option:selected");
remove=options.remove();
remove.appendTo(lstboxAllTeachersID);
}
// 把全部追加給對方
if($(this).attr("alt")=="selectAll")
{
options=$(lstboxAllTeachersID+' option');
remove=options.remove();
remove.appendTo(lstboxSelectdTeachersID);
}
// 把全部項退回給對方
if($(this).attr("alt")=="Reset")
{
options=$(lstboxSelectdTeachersID+' option');
remove=options.remove();
remove.appendTo(lstboxAllTeachersID);
}
});
// 獲取教師工號
function getSeletedTeacherNum()
{
var lstStaffs = document.getElementById('<%=lstboxSelectdTeachers.ClientID%>');
var strStaffs = "";
for (var i = 0; i < lstStaffs.options.length; i++) {
strStaffs +=lstStaffs.options[i].value+",";
}
$(hiddenFileID).val(strStaffs);
}
// 當點擊發送按鈕
$(imabtnSendMessageID).click(function(){
getSeletedTeacherNum()
});
});
</script>
<form>
<fieldset >
<legend >選擇需要得到通知的教師</legend>
<ul>
<li>
<span>
<asp:ListBox ID="lstboxAllTeachers" runat="server"
CssClass="listbox"></asp:ListBox>
</span>
<img src="images/ArrowAdd.jpg" alt="arrowAdd" />
<img src="images/ArrowDelete.jpg" alt="arrowDelete" />
<span><asp:ListBox ID="lstboxSelectdTeachers" runat="server"
CssClass="listbox"></asp:ListBox></span>
<asp:HiddenField ID="HiddenField1" runat="server"/>
</li>
<li>
<span>
<img src="images/selectAll.jpg" alt="selectAll" />
</span>
<span>
<img src="images/Reset.jpg" alt="Reset" />
</span>
</li>
</ul>
</fieldset>
<br />
<fieldset >
<legend >需要發送的消息</legend>
<ul>
<li>
<asp:TextBox ID="txtContent" runat="server" TextMode="MultiLine" Width="380px"
Height="180px" CssClass="txtbox"></asp:TextBox>
</li>
<li>
<span>
<asp:ImageButton ID="imabtnSendMessage" runat="server"
ImageUrl="~/images/SendMessage.jpg" />
</span>
<span>
<asp:ImageButton ID="imagbtnResetContent" runat="server"
ImageUrl="~/images/Reset.jpg" />
</span>
</li>
</ul>
</fieldset>
</asp:Content>
後台
public partial class ManagerSendMessage : BasePage
{
ITeacher newIteacher = new TeacherService();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindListBoxAllTeachers();
}
}
public void BindListBoxAllTeachers()
{
this.lstboxAllTeachers.DataSource = newIteacher.ReadAllTeacher();
this.lstboxAllTeachers.DataTextField = "TeacherName";
this.lstboxAllTeachers.DataValueField = "TeacherNum";
this.lstboxAllTeachers.DataBind();
}
List<string> AllSelectedTeahcerNum = new List<string>();
// 得到選擇的教師工號
public void SendSelectedTeahcerMessage(string[] singleNums)
{
for (int i = 0; i < singleNums.Count()-1; i++)
{
newIteacher.InsertReceiveMessage(singleNums[i].ToString(), this.txtContent.Text);
PageExtension.Alert(this, "發布成功!");
}
}
// 發送通知消息給選定的教師,
protected void imabtnSendMessage_Click(object sender, ImageClickEventArgs e)
{
string AllTheNum = this.HiddenField1.Value;
string[] singleNums = AllTheNum.Split(',');
SendSelectedTeahcerMessage(singleNums);
}
// 重置發送內容
protected void imagbtnResetContenet_Click(object sender, ImageClickEventArgs e)
{
this.txtContent.Text = "";
}
}
最後更新:2017-04-02 22:16:31