PDA

View Full Version : سوال: pagemethod برای commandname های گریدویو



mahsa.n
سه شنبه 25 آبان 1389, 14:38 عصر
سلام
من برای حذف رکورد از گریدویو و نمایش اطلاعات گرید از کد زیر استفاده کردم
حالا میخوام به جاش از pagemethod استفاده کنم ولی نمیدونم چه طوری سطر انتخابی رو با jquery به pagemethod بفرستم
لطفا راهنمایی کنین


<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"
DataKeyNames="NameId,Date,SenderMail"DataSourceID="SqlDataSource1"OnRowCommand="GridView1_RowCommand">

<Columns>

<asp:BoundFieldDataField="NameId"HeaderText="NameId"ReadOnly="True"/>
<asp:BoundFieldDataField="SenderMail"HeaderText="SenderMail"/>
<asp:BoundFieldDataField="Date"HeaderText="Date"ReadOnly="True"/>
<asp:CheckBoxFieldDataField="Readed"HeaderText="Readed"/>
<asp:ButtonFieldButtonType=ImageImageUrl="~/images/trash.jpg"CommandName="delete"/>
<asp:ButtonFieldButtonType=ButtonCommandName="showPrivateMessage"Text="show message"/>

</Columns>
</asp:GridView>





protectedvoid GridView1_RowCommand(object sender,GridViewCommandEventArgs e)
{
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedrow = ((GridView)e.CommandSource).Rows[i];int nameid = Convert.ToInt32(selectedrow.Cells[0].Text);
string sendermail = selectedrow.Cells[1].Text;string date = selectedrow.Cells[2].Text;
if (e.CommandName == "delete")
{

DeleteRecord(nameid, sendermail, date);
}
if (e.CommandName == "showPrivateMessage")
{ShowRecord(nameid, sendermail, date);
}
}
privatevoid DeleteRecord(int nameid,string sendermail,string date)
{
PrivateMessage p = newPrivateMessage();
var query= from q in db.PrivateMessages
where q.SenderMail == sendermail && q.Date == date && q.NameId == nameid
select q;
db.PrivateMessages.DeleteOnSubmit(query.Single());
db.SubmitChanges();
}
privatevoid ShowRecord(int nameid, string sendermail, string date)
{
PrivateMessage p = newPrivateMessage();
var query = from q in db.PrivateMessages
where q.SenderMail == sendermail && q.Date == date && q.NameId == nameid
select q.Message;
li.Text = query.First();
}

ricky22
چهارشنبه 26 آبان 1389, 09:45 صبح
<head runat="server">
<title>GridView and JQuery</title>

<script src="Script/jquery-1.4.min.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function() {

$("#.delbutton").click(function() {

//Get the Id of the record to delete
var record_id = $(this).attr("id");

//Get the GridView Row reference
var tr_id = $(this).parents("#.record");

// Ask user's confirmation before delete records
if (confirm("Do you want to delete this record?")) {

$.ajax({
type: "POST",

//GridViewDelete.aspx is the page name and DeleteUser is the server side method to delete records in GridViewDelete.aspx.cs
url: "GridViewDelete.aspx/DeleteUser",

//Pass the selected record id
data: "{'args': '" + record_id + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function() {

// Change the back color of the Row before deleting
tr_id.css("background-color", "lightgreen");

// Do some animation effect
tr_id.fadeOut(500, function() {

//Remove GridView row
tr_id.remove();
});
}
});

}
return false;
});
});
</script>
</head>

mahsa.n
دوشنبه 01 آذر 1389, 10:23 صبح
مرسی که جواب دادین
مشکل من اینه که هر سطر گریدویو 3تا primary key داره و فقط id کافی نیست