Hello I'm trying to insert data from a variable form but I don't know where to start. I have 3 scripts for this. A class (let's call it test.cs), a webform (test.aspx) and of course test.aspx.cs.
Let's start with the class which creates the form (This works it creates form as it should):
public string Questions()
{
SqlCommand cmd = new SqlCommand("SELECT enquete_vraag_ID, enquete_vraag, type, actief FROM enquete_vraag ORDER BY volgorde ASC", con);
SqlDataReader reader;
con.Open();
reader = cmd.ExecuteReader();
StringBuilder str = new StringBuilder("");
while (reader.Read())
{
if (reader["actief"].ToString() == "True")
{
str.Append("<tr>");
str.Append("<td class='bold' colspan='11'>" + reader["enquete_vraag"].ToString() + ":</td>");
str.Append("</tr>");
}
if (reader["type"].ToString() == "radio" && reader["actief"].ToString() == "True")
{
str.Append("<tr>");
str.Append("<td>Cijfer:</td>");
str.Append("<td>1<input type='radio' value='1' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>2<input type='radio' value='2' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>3<input type='radio' value='3' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>4<input type='radio' value='4' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>5<input type='radio' value='5' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>6<input type='radio' value='6' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>7<input type='radio' value='7' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>8<input type='radio' value='8' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>9<input type='radio' value='9' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("<td>10<input type='radio' value='10' name='" + reader["enquete_vraag_ID"].ToString() + "' /></td>");
str.Append("</tr>");
}
else if (reader["type"].ToString() == "open" && reader["actief"].ToString() == "True")
{
str.Append("<tr>");
str.Append("<td colspan='11'><textarea name='" + reader["enquete_vraag_ID"].ToString() + "'></textarea></td>");
str.Append("</tr>");
}
}
reader.Close();
con.Close();
HtmlString text = new HtmlString(str.ToString());
return text.ToString();
}
Now the webform which displays it as it should:
<div id="right-questions">
<form id="Form1" method="post" action="#" runat="server">
<table class="table-questions">
<tr>
<td class="bold" colspan="11">Algemene gegevens:</td>
</tr>
<tr>
<td colspan="11" class="word-spacing">
<asp:Label ID="algemeneGegevensLabel" runat="server" Text=""></asp:Label></td>
</tr>
<asp:Label ID="vragenLabel" runat="server" Text=""></asp:Label>
<tr>
<td colspan="11">
<asp:Button ID="insturenButton" runat="server" Text="Insturen" OnClick="insturenButton_Click" /></td>
</tr>
</table>
</form>
</div>
And as last test.aspx.cs (I have nothing there because I don't know what to do):
protected void Page_Load(object sender, EventArgs e)
{
Klas klas = new Klas(Session["klas"].ToString());
Vak vak = new Vak();
var vakken = klas.showVakken();
vakkenLabel.Text = vakken;
algemeneGegevensLabel.Text = klas.algemeneGegevens();
vragenLabel.Text = vak.Vragen();
}
protected void insturenButton_Click(object sender, EventArgs e)
{
}
I hope someone can help me.
You can try with InnerHtml
property. Set an area where you want to add these buttons and put runat="server"
to access this on server side event, like this
<div id="buttonContainer" runat="server"></div>
Now you just need to set the innerHTML of this container
protected void insturenButton_Click(object sender, EventArgs e)
{
string htmlString = Questions(); // call your function which returns the string.
buttonContainer.InnerHtml = htmlString;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.