JS脚本的编写和页面传值方式给我的印象都是些细小琐碎的麻烦事!
前天做的一个页面功能分享一下:
引入命名空间:
using Microsoft.Practices.EnterpriseLibrary.Data;//微软的一个代码插件
using Model;
using System.Collections.Generic;
CS代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
MyBind();
}
protected void MyBind()
{
BLL.Quest_Index_AnswerBll tb = new BLL.Quest_Index_AnswerB(); Repeater1.DataSource = tb .Select ();
Repeater1.DataBind();
}
protected DataTable Bind()
{
BLL.Quest_Index_AnswerBll tb = new BLL.Quest_Index_AnswerBll ();
return tb.Select();
}
/// <summary>
/// 获取答案
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public string Anther(string s,int option_type)
{
BLL.Quest_Index_AnswerBll tb = new BLL.Quest_Index_AnswerBll();
string str = "<table >";
tb.Select(s );
for (int i = 0; i < tb.Select(s).Rows.Count ; i++)
{
if (option_type==1)
{
str += "<tr><td > <input runat=\"server\" id=\"Radio" + i + "\" type=\"radio\" name =\"" + s + "\" value =\"" + tb.Select(s).Rows[i]["score"] + "\" />" + tb.Select(s).Rows[i]["option_name"] + " </td></tr>";
}
if (option_type == 2)
{
str += "<tr><td > <input runat=\"server\" id=\"Radio" + i + "\" type=\"radio\" name =\"" + i + "\" value =\"" + tb.Select(s).Rows[i]["score"] + "\" />" + tb.Select(s).Rows[i]["option_name"] + " </td></tr>";
}
}
str += "</table>";
return str;
}
protected void Button1_Click(object sender, EventArgs e)
{
BLL.Quest_Index_AnswerBll QIA = new BLL.Quest_Index_AnswerBll();
string c = Hidden1.Value;
string c1 = Hidden2.Value;
Quest_Index_Answer cj = new Quest_Index_Answer();
List<Quest_Index_Answer> sc = new List<Quest_Index_Answer>();
string[] s = c.Split(',');
string[] m = c1.Split(',');
for (int i = 0; i < s.Length; i++)
{
cj.Index_Id = m[i];
cj.Score_Eva = double .Parse (s[i]);
cj.Emmployee_Id = "111111";
cj.Quest_Index_Answer_Id = "555";
sc.Add(cj);
}
QIA.Addlist(sc);
}
前台代码:
<form id="form1" runat="server">
<div align="right">
<asp:Repeater ID="Repeater1" runat="server" >
<ItemTemplate>
<table width="90%" >
<tr align ="left" > <td >
<%#Eval("problem_desc").ToString ()%>
</td>
</tr>
<tr >
<td align ="left">
<%# Anther(Eval("index_id").ToString(),int .Parse ( Eval("option_type").ToString ()))%>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater><br />
</div>
<div align="center" >
<asp:button ID="Button1" runat="server" text="保存" Width="62px" OnClientClick ="sub()" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="提交" Width="61px" />
<input id="Hidden1" runat="server" type="hidden" />
<input id="Hidden2" runat="server" type="hidden" />
</div>
</form>
JS脚本:
function sub(){
//校验
for(var i=0;i <document.form1.Options.length;i++){
if(document.form1.Options[i].checked==false)
{
alert( "存在漏选!请仔细检查 ");
document.form1.Options[i].focus();
return false;
}
else
{
//获取值
g=document.getElementsByTagName("input");
var str='';
var str1='';
for(var i=0;i<g.length;i++){
var obj = document.getElementsByName('radio'+i);
for(var j=0;j<obj.length;j++)
{
if(obj[j].checked == true)
{
//记录值
str+=obj[j].value+',';
str1+=obj[j].name+',';
g--;
}
}
}
document.getElementById("Hidden1").value = str;
document.getElementById("Hidden2").value = str1;
if(g==0)alert('提交完成!');
else alert('提交失败!');}
}
}
转载于:https://blog.51cto.com/2678107/610867