你的大问题是,你的ASP Repeater控件会产生这样的IDS这不会帮助你得到与其相应的db行关联的评论
我发现完成此操作的常见方式(这是我相信的一种非常标准的方式)是将元素id分配给行从数据库中获取id,或者如果您无法控制该id,则需要创建一个自定义属性。
我用
伪代码看起来是这样的:(我会尽量让语言/平台无关的,所以你可以学习的概念,而不只是语言)
<repeater template>
<textbox id="txt1" dbid='<% eval database id>'/>
<button id="btn1" dbid='<% eval database id>'/>
</repeater template>
应该产生如下所示的代码:
<input type="textbox" value="" id="ct100_txt1" dbid="14" />
<input type="button value="submit" id="ct100_btn1" dbid="14" />
<input type="textbox" value="" id="ct100_txt2" dbid="12" />
<input type="button value="submit" id="ct100_btn2" dbid="12" />
<input type="textbox" value="" id="ct100_txt3" dbid="39" />
<input type="button value="submit" id="ct100_btn3" dbid="39" />
然后在你愿意,你可以从属性读取任何一种语言:
Button.Click{
get attribute dbid of button clicked;
save text of textbox of same dbid to a database;
}
许多欢呼声!希望工程亚
编辑
在回应评论“在哪里ID保存的dbid?!”我假设在一个数据库:) 如何你应该保存它?有很多方法。这里有一个你可以尝试使用jQuery:
创建一个JavaScript函数来保存需要参数的答案。当您将该dbid绑定到该控件时,将其绑定到一个onclick函数并将该id传递给该函数。该函数然后获取dbid匹配的文本,并将注释和标识保存到数据库中。
<textbox dbid="14" />
<input onclick="doStuff(14)" />
<script>
function doStuff(var id){
var comment = $('textbox[dbid=id]').value();
ajax(your url and arguments);
};
</script>
你应该发布一些代码。你如何获得按钮/文本框ID?是当用户点击按钮的特定行吗? – 2011-06-16 23:19:55
你的HTML是什么样的?你到目前为止有什么jQuery?给我们看一些代码.... – 2011-06-16 23:21:02
对不起。我编辑了这个问题。 – Roobah 2011-06-16 23:46:12