Asp.net如何呈现HTML输入单选回发
本文关键字:输入 单选回 HTML 何呈现 net Asp | 更新日期: 2023-09-27 18:03:10
我使用下面的代码来动态地创建一个网页的单选按钮,因为每组数据都是通过迭代从数据库中检索到的。效果很好。唯一的问题是我需要这些PostBack,所以进一步的数据可以根据哪个单选按钮被点击检索。我尝试用RadioButton控件这样做,但这些不会像<span>
技术那样在表单元格内定位,并且它们不会通过<span>
创建。
int count = 0;
if (dataReader.HasRows)
{
testLabel1.Text = "dataReader.HasRows: " + dataReader.HasRows;
while (dataReader.Read())
{
count += 1;
htmlString.Append("<table border = '1'>");
htmlString.Append("<tr>");
htmlString.Append("<td>");
htmlString.Append(dataReader["dateTime"] + "<br />" + "<span><input type='radio' id='rd1'/>SOMTEXT </span>" + dataReader["statistics"]");
htmlString.Append("</td>");
htmlString.Append("</tr>");
htmlString.Append("</table>");
htmlString.Append("<br />");
}
test_populatePlaceHolder.Controls.Add(new Literal { Text = htmlString.ToString() });
dataReader.Close();
dataReader.Dispose();
}
}
}
}
我尝试在<span><input type='radio' id='rd1'runat='server'/>SOMTEXT </span>
中添加runat="server"
,但它没有创建单选按钮。
不知道如何在注释中格式化代码。再一次-如果您在手工制作的html中编写runat="Server",它不会做任何事情,因为此代码不会被编译,您只需手动编写html答案。另一方面,编译声明性语言(asp.net, razor或任何其他)生成javascript,您也可以手动完成,但B.Gates友好地同意为您做:-)
Asp。净设计>
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int num = 10;
if (Page.IsPostBack)
{
for (int i = 1; i < this.Repeater1.Controls.Count-1; i++)
{
RadioButton r = (RadioButton)this.Repeater1.Controls[i].Controls[3];
if (r.Checked)
{
num=int.Parse(r.Text.Substring(0, r.Text.IndexOf(' ')));
break;
}
}
}
this.Repeater1.DataSource = GetAll(num);
this.Repeater1.DataBind();
}
DataTable GetAll(int count)
{
Random r = new Random();
DataTable dt = new DataTable();
dt.Columns.Add("Text", typeof(string));
DateTime bs = DateTime.Now;
for (int i = 0; i < count; i++)
{
int value = r.Next(3, 10);
dt.Rows.Add(value.ToString() + " rows will be shown");
}
return dt;
}
}
方法GetAll()返回具有计数行的表。在每一行是文本"%i行将被显示"与随机数。表在页面加载事件时绑定到数据中继器。如果是回发,则从中继器行内的单选按钮文本解析行数(您不能从数据表中获取,它是另一个页面,数据表已经在GC中)