如何从后面的代码存储(通过jquery生成)的值。 [英] how to store values of (that are generated through jquery) from code behind.
问题描述
我正在开发一个网页,它将在按钮单击时创建文本框的行和列,并将通过存储过程在sql中保存值。
我搜索并尝试了不同的技术,但没有工作。
页面在主客户端。
.aspx页
i am developing a web page that will create rows and columns of text boxes on button click and will save values in sql through stored procedure.
i have searched and tried different tecniques but no working.
page is in master client.
.aspx page
<script type="text/javascript" >
var index = 1;
function addrow() {
var row = $('tr', "#table").length; //row the number of rows in table start from 0
// alert("rowcount="+row+"");
if (row == 6) {
alert("only 06 lines allowed");
} else {
// alert(index);
index++;
var td;
// var row = $('tr', "#table").length; //row the number of rowsin table start from 0
//alert("row"+row+"");
var col = $("#table").find('tr')[0].cells.length; //col= no of columns in table tells the loop
// alert("col"+col+"");
for (var i = 0; i < col; i++) {
td = td + '<td><input type="text" name="txt_' + row + '_' + i + '" runat="server" /></td>';
}
$('#table tr:last').after('<tr>' + td + '</tr>');
}
}
function del_row(table) {
table.each(function () {
//alert($('tr', this).length);
if ($('tr', this).length > 1) {
$('tbody tr:last', this).remove();
}
});
}
//debugger;
function addcol() {
// alert("function has been called");
var rcnt = 0; //=index in addrow
ShowColCount();
var colnum = $("#table").find('tr')[0].cells.length; // colnum=no of columns to be added
var rowlen = $('tr', "#table").length;
if (colnum >= 7) {
alert("you can add maximum 7 columns");
return false;
}
else {
$("#table").find('tr').each(function () {
$(this).find('td').eq(colnum - 1).after('<td><input type="text" name="txt_' + rcnt + '_' + colnum + '" runat="server" /></td>');
rcnt++;
});
}
}
function ShowColCount() {
var colnum = $("#table").find('tr')[0].cells.length;
return colnum;
}
function del_col() {
// alert("in" + colm + "");
var colnum = $("#table").find('tr')[0].cells.length; // colnum=no of columns to be added
var rowlen = $('tr', "#table").length;
$("#table tr").each(function () {
if (colnum == 3 || rowlen == 0) {// alert("no more to delete");
} else {
$(this).find("td:last").remove();
}
});
}
</script>
<div id="add_div" class="add_row_clm_div">
<input id="btn_addrow" type="button" value="Add Row" önclick="addrow();" />
<input id="btn_del_row" type="button" value="Delete Row" önclick="del_row($('#table'));" />
<input id="btn_addcol" type="button" value="Add Column" önclick="addcol();" />
<input id="btn_delcol" type="button" value="Delete Column" önclick="del_col();" />
<input id="txt_0_0" type="text" name="txt_1_1" runat="server" />
<input id="txt_0_1" type="text" name="txt_1_2" runat="server" />
<input id="txt_0_2" type="text" name="txt_1_3" runat="server" />
方法以母版页形式发布
和输入类型=文本是在1行和3列表中
这里是我在aspx.cs文件中使用的代码
the method is post in master page form
and input type="text" is in table in 1 row and three cols
here is the code i am using in aspx.cs file
protected void btn_insert_Click(object sender, EventArgs e)
{
hiddenfield();
}
protected void hiddenfield()
{
SqlConnection conn = GetConnected();
SqlCommand cmd = new SqlCommand("offers_2", conn);
cmd.CommandType = CommandType.StoredProcedure;
if (hf1.Value == "")
{
int col1 = 1;
int row=0;
int col;
//for ( row = 0; row <= 5; row++)
while(row<=5)
{
for ( col = 0; col <= 6; col++)
{//hf1= id and name of hidden field
//hf1.Value =("txt_"+ row +"_"+ col +"");
hf1.Value = Request["txt_" + row + "_" + col + ""]== null?"NO VALUE":"VALUE";
cmd.Parameters.AddWithValue("@col"+ col1+"_"+row+ "", hf1.Value);
col1++;
}
row++;
col1 = 1;
}
}
cmd.ExecuteNonQuery();
}
现在的问题是我手动输入的文本框方法的值,但不是动态创建/生成的文本框的值。对于动态文本框值,请求[]或Request.Form []或Page.Request.Form []得到null = true。
提前感谢
now the problem is that the text boxes that i have put manually pass the value to method but not the values of textboxes created/generated dynamically. Request[] or Request.Form[] or Page.Request.Form[] are getting null=true always for dynamic textboxes values.
thanks in advance
推荐答案
(' tr', #table)。length; // 行表中的行数从0开始
// alert(rowcount =+ row +);
if (row == 6 ){
alert( 只允许06行);
} 其他 {
// alert(index);
index ++;
var td;
// var row =
('tr', "#table").length; //row the number of rows in table start from 0 // alert("rowcount="+row+""); if (row == 6) { alert("only 06 lines allowed"); } else { // alert(index); index++; var td; // var row =
('tr', 。#table)长度; //行表中的行数从0开始
// alert(row + row +);
var col =
('tr', "#table").length; //row the number of rowsin table start from 0 //alert("row"+row+""); var col =
( #table)。find(' tr')[ 0 ]。cells.length; // col =表中的列数告诉循环
// alert(col+ col +);
for ( var i = 0 ; i< col; i ++){
td = td + ' < td>< input type =textname =txt _' + row + ' _' + i + ' runat =server/>< / td>';
}
("#table").find('tr')[0].cells.length; //col= no of columns in table tells the loop // alert("col"+col+""); for (var i = 0; i < col; i++) { td = td + '<td><input type="text" name="txt_' + row + '_' + i + '" runat="server" /></td>'; }
这篇关于如何从后面的代码存储(通过jquery生成)的值。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!