首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用C#和ASP语言操作类似于jQuery的HTML DOM

用C#和ASP语言操作类似于jQuery的HTML DOM
EN

Stack Overflow用户
提问于 2012-10-02 00:26:33
回答 1查看 471关注 0票数 0

我有一个页面,其中包含一个从数据库填充的表。它看起来有点像这样:

代码语言:javascript
复制
System   Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep  Oct   Nov   Dec
1        x     x     x     x     x     x     x     x     x    x     x     x
2        x     x     x     x     x     x     x     x     x    x     x     x
6        x     x     x     x     x     x     x     x     x    x     x     x

表中的每个单元格(即上图中的每个“x”)都包含一个文本框,用户需要在该文本框中输入值。我使用列标题和系统编号动态地给每个文本框一个ID,例如'feb2',‘mar6','oct1’。

页面底部是一个保存按钮,当按下该按钮时,将更新所有系统和所有月份的数据库中的值。

:我的问题是:在不知道文本框is的情况下,如何获取文本框的值并调用函数来更新值?

下面是我想用jQuery (一种我更熟悉的语言)做的例子:

代码语言:javascript
复制
function saveValues(){
    var rows = $("#SystemTargetsTable tr:not(:first-child)"); // skip the header row
    var systemID;
    var jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec;

    rows.each(function(index) {        
    systemID = $(this).attr('id').substring(6);

    jan = $('#Jan' + systemID).val();
    feb = $('#Feb' + systemID).val();
    mar = $('#Mar' + systemID).val();
    apr = $('#Apr' + systemID).val();
    may = $('#May' + systemID).val();
    jun = $('#Jun' + systemID).val();
    jul = $('#Jul' + systemID).val();
    aug = $('#Aug' + systemID).val();
    sep = $('#Sep' + systemID).val();
    oct = $('#Oct' + systemID).val();
    nov = $('#Nov' + systemID).val();
    dec = $('#Dec' + systemID).val();

    //ONCE I HAVE THE VALUES FOR EACH MONTH I WOULD LIKE TO CALL AN UPDATE STATEMENT USING THE SYSTEM ID. ONLY OF COURSES I CANNOT DO TIS FROM JAVASCRIPT!
  }); 
}  

感谢您的宝贵时间。我希望这一切都有意义!

EN

回答 1

Stack Overflow用户

发布于 2012-10-02 01:47:57

在不知道唯一列的ID的情况下,您不能更新和sql表行,在本例中是系统列。

下面是我要做的:

在用动态文本框为每一行填充表时,您为该行分配了textbox的id = system id值。

代码语言:javascript
复制
<asp:TextBox ID="System.ID_Value(FromDB)"  value="Month_Value_(value from DB)" runat="server"></asp:TextBox>

then on the click event of the save button 

 protected void Button1_Click(object sender, EventArgs e)
    {
        foreach (var row in Table1.Rows)
        {
            string[] allkeys = Request.Form.AllKeys;
            foreach (string key in allkeys)
            {
                if (key.ToUpper().StartsWith("System_ID"))
                {
                    var ID = Convert.ToInt32(key.Split('_')[1]);           
                }
                if (key.ToUpper().StartsWith("MOnth_Value"))
                {
                    var Jan = Convert.ToInt32(key.Split('_')[2]);
                    var feb = Convert.ToInt32(key.Split('_')[3]);
                }
                // and so on then you call the update method
            }  
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12677250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档