rt
解决方案 »
- GirdView DataBind方法不触发DataBinding??
- 一个很简单的问题,为什么在ASCX中,document.createElement不起作用
- Nhibernate的Criteria查询的问题
- 这段数据集代码错在那了?
- 请教向存储过程传递参数但没有成功,请指教
- DataList 编辑时 更新和取消编辑按纽无效,请帮忙看看
- DataGrid控件中有一个ButtonColumn,如果加入confirm("确定吗")对话框?
- 关于asp.net传递参数的问题?请高手帮忙!谢谢,再线等!
- 为什么ListBox的值是空的???
- 除了EXCHANGE SERVER,还有什么免费的邮件服务器适合10-20人的局域网?
- 可以在ASP。NET网页程序中弹出MESSAGEBOX吗
- ObjcectDataSource能否使用泛型类?
单选的时候 input type='radio'
多选的时候使用 input type='checkbox'
然后通过后台拼写的方法实现~
选项可以通过 从表中读入的方式~~
string HTML = "";
Html += @"<!--productSort begin-->
<div class='invest'>
<div class='title'><h3>标题</h3></div>
<div class='cont'>
<ul>
<li class='th'>" + info1.strTitle + "</li>";
result = Convert.ToString(info1.strOptionContent);
options = result.Split('|');
for (int i = 0; i < options.Length - 1; i++)
{
if (options[i] != "")
{
length = length + 1;
if (info1.intResearchType != null)
{
if (info1.intResearchType == 0)//若为单选
{
Html += @"<li><input type='radio' name='invest-result' value='' id='option" + i + "' /><label for='option" + i + "'>" + options[i] + "</label></li>";
}
else//若为多选
{
Html += @"<li><input type='checkbox' name='invest-result' value='' id='option" + i + "' /><label for='option" + i + "'>" + options[i] + "</label></li>";
}
}
}
}
if (info1.intAllowSee == 0)
{
Html += @" <li class='last'><input type='button' class='submit' value='提交' onClick='CheckSelected()' /> <input type='button' class='result' value='查看结果' onClick='Redirect()' /> </li>";
}
else
{
Html += @" <li class='last'><input type='button' class='submit' value='提交' onClick='CheckSelected()' /> <input type='button' class='result' value='查看结果' onClick='Redirect()' style='display:none' /> </li>";
}
Html+=@"
</ul>
</div>
</div>
<!--productSort end-->";
多选呢?
function CheckSelected()
{
var chks = document.getElementsByTagName("input");
var a =new Array();
var j;
for(i=0;i<chks.length;i++)
{
if(chks[i].checked&&(chks[i].type=="checkbox"||chks[i].type=="radio"))
{
for(j=i;j<i+1;j++)
{
a[j]=i;
}
}
}
alert(a);
if(a!="")
{
location.href='Research.aspx?Edit='+a;
}
else
{
alert('请先选择选项后再提交!');
return false;
}
}function Redirect()
{
location.href='aa.aspx?EditID='+<%=intID %>;return false;
}
</script>在aa页处理~~
<ItemTemplate>
<%# Container.ItemIndex + 1%>
、<%#Eval("TTopic") %><br />
<asp:HiddenField ID="hidTId" runat="server" Value='<%#Eval("Id") %>' />
<asp:HiddenField ID="hidType" runat="server" Value='<%#Eval("TType") %>' />
<asp:RadioButtonList ID="rbtnlOptions" runat="server" Visible="false">
</asp:RadioButtonList>
<asp:CheckBoxList ID="chklOptions" runat="server" Visible="false">
</asp:CheckBoxList>
<asp:TextBox ID="txtOptions" runat="server" Visible="false" TextMode="MultiLine"
Width="350px" Height="100px"></asp:TextBox>
<asp:Label ID="lblOptionsInfo" runat="server" Visible="false" Text="* 字数请在500字以内!"
ForeColor="red"></asp:Label>
<br />
</ItemTemplate>
</asp:Repeater>绑定repTopic_ItemDataBound事件
protected void repTopic_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HiddenField hidTId = e.Item.FindControl("hidTId") as HiddenField;
if (!string.IsNullOrEmpty(hidTId.Value))
{
List<Options> optionsList = indagateBll.GetOptionsListByIId(Convert.ToInt32(hidTId.Value));
if (null != optionsList)
{
HiddenField hidType = e.Item.FindControl("hidType") as HiddenField;
if (null != hidType)
{
string type = hidType.Value;
if (type.Equals("0"))
{
//单选
RadioButtonList rbtnlOptios = e.Item.FindControl("rbtnlOptions") as RadioButtonList;
rbtnlOptios.DataSource = optionsList;
rbtnlOptios.DataTextField = "Option";
rbtnlOptios.DataValueField = "Id";
rbtnlOptios.DataBind();
rbtnlOptios.Visible = true;
}
else if (type.Equals("1"))
{
//多选
CheckBoxList chklOptions = e.Item.FindControl("chklOptions") as CheckBoxList;
chklOptions.DataSource = optionsList;
chklOptions.DataTextField = "Option";
chklOptions.DataValueField = "Id";
chklOptions.DataBind();
chklOptions.Visible = true;
}
else
{
TextBox txtOptions = e.Item.FindControl("txtOptions") as TextBox;
txtOptions.Visible = true;
Label lblOptionsInfo = e.Item.FindControl("lblOptionsInfo") as Label;
lblOptionsInfo.Visible = true;
}
}
}
}
}
}