【问题标题】:Save star rating in a gridview row using jquery ajax使用 jquery ajax 在 gridview 行中保存星级
【发布时间】:2013-10-29 20:58:50
【问题描述】:

我有一个每行包含星级评分的网格视图,当用户单击一行上的保存时,它应该使用 ajax 将评分值更新到数据库中,我正在使用来自 http://rateit.codeplex.com 的代码来实现评分。所以我需要在给定类的每一行中使用一个 div,如下所示

            <asp:TemplateField HeaderText="rate" HeaderStyle-HorizontalAlign="Left">
            <ItemTemplate>
                <div class="rateit" id="divrate"></div>
            </ItemTemplate>
        </asp:TemplateField>

保存按钮就是这个

            <asp:TemplateField>
            <ItemTemplate>
                <asp:ImageButton ID="imgSave" OnClientClick="javascript:return SaveItem(<% Eval("ID") %>, <% divrate.ClientID( %>);" runat="server" ImageUrl="~/Imgs/Yes.gif" AlternateText="Save"  />
            </ItemTemplate>
        </asp:TemplateField>

而javascript函数是

function SaveItem(RowID,RatingControlID){

         var ri = $(RatingControlID);
         var value = ri.rateit('value'); //rateit is the class used in div

         $.ajax({
             url: 'rateit.aspx', //save function
             data: { id: RowID, value: value }, 
             type: 'POST',
             success: function (data) {
                 $('#response').append('<li>' + data + '</li>');

             },
             error: function (jxhr, msg, err) {
                 $('#response').append('<li style="color:red">' + msg + '</li>');
             }
         });
     });

但是在函数调用本身中它给出了错误

【问题讨论】:

    标签: jquery asp.net gridview rating-system


    【解决方案1】:

    您没有终止您的 ClientID 呼叫:

    OnClientClick="javascript:return SaveItem(<% Eval("ID") %>, <% divrate.ClientID( %>);"
    

    变成:

    OnClientClick="javascript:return SaveItem(<% Eval("ID") %>, <% divrate.ClientID() %>);"
    

    【讨论】:

    • 修复了它,但现在错误是“服务器标签不能包含 结构。”
    • 哦,对不起,甚至没有注意到它是第二个模板中的 asp 控件。是的,如果您希望输出包含变量的字符串,您可以尝试进行自己的控制,但这是我建议仅使用 HTML 手动制作图像按钮的情况之一。 stackoverflow.com/questions/11772326/submit-button-image
    • 我使用了输入类型的图像。现在错误是“Eval()、XPath() 和 Bind() 等数据绑定方法只能在数据绑定控件的上下文中使用。”是否可以使用隐藏控件并在 javascript 函数中引用它?
    猜你喜欢
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多