b.paseban
پنج شنبه 30 دی 1389, 13:32 عصر
سلام بر دوستان برنامه نویس.
من برای اینکه بفهمم یه لینک چند بار کلیک شده از یه لینک باتن که ocmmandname و CommandArgument
داره استفاده کردم و توی رویداد کلیک پارامتر ارسالی رو توی viewstate قرار دادم و اونو تو دیتا بیسم اپدیت میکنم.
کد html من:
<asp:LinkButton ID="LinkBtnShowNews" runat="server" Text="کلیک کنید..." PostBackUrl='<%#"News.aspx?ID="+Eval("NewsID")%>'
CommandArgument='<%# Eval("NewsID") %>' CommandName="DoCounter" Font-Overline="False"
Font-Underline="False"></asp:LinkButton>
codebehind:
protected void NewsID_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "DoCounter":
{
ViewState["NewsID"] = Convert.ToInt32(e.CommandArgument);
CounterViewNews();
break;
}
}
}
private void CounterViewNews()
{
SqlConnection conect = new SqlConnection(ConfigurationManager.ConnectionStrin gs["CS_Heydarzadeh"].ConnectionString);
try
{
conect.Open();
string strpsroccomand = "CounterViewedNews";
SqlCommand comand = new SqlCommand(strpsroccomand, conect);
int NewsID = (int)ViewState["NewsID"];
comand.Parameters.AddWithValue("NewsID", NewsID);
comand.ExecuteReader();
}
catch (Exception ex)
{
Label6.Text = ex.Message;
}
finally
{
conect.Close();
}
}
اینم storedprocedure:
ALTER PROCEDURE CounterViewedNews
@NewsID int
AS
UPDATE News_News
SET ViewCount = ViewCount + 1
WHERE NewsID = @NewsID
ولی این ارور رو میده:
Procedure or function 'CounterViewedNews' expects parameter '@NewsID', which was not supplied
من برای اینکه بفهمم یه لینک چند بار کلیک شده از یه لینک باتن که ocmmandname و CommandArgument
داره استفاده کردم و توی رویداد کلیک پارامتر ارسالی رو توی viewstate قرار دادم و اونو تو دیتا بیسم اپدیت میکنم.
کد html من:
<asp:LinkButton ID="LinkBtnShowNews" runat="server" Text="کلیک کنید..." PostBackUrl='<%#"News.aspx?ID="+Eval("NewsID")%>'
CommandArgument='<%# Eval("NewsID") %>' CommandName="DoCounter" Font-Overline="False"
Font-Underline="False"></asp:LinkButton>
codebehind:
protected void NewsID_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "DoCounter":
{
ViewState["NewsID"] = Convert.ToInt32(e.CommandArgument);
CounterViewNews();
break;
}
}
}
private void CounterViewNews()
{
SqlConnection conect = new SqlConnection(ConfigurationManager.ConnectionStrin gs["CS_Heydarzadeh"].ConnectionString);
try
{
conect.Open();
string strpsroccomand = "CounterViewedNews";
SqlCommand comand = new SqlCommand(strpsroccomand, conect);
int NewsID = (int)ViewState["NewsID"];
comand.Parameters.AddWithValue("NewsID", NewsID);
comand.ExecuteReader();
}
catch (Exception ex)
{
Label6.Text = ex.Message;
}
finally
{
conect.Close();
}
}
اینم storedprocedure:
ALTER PROCEDURE CounterViewedNews
@NewsID int
AS
UPDATE News_News
SET ViewCount = ViewCount + 1
WHERE NewsID = @NewsID
ولی این ارور رو میده:
Procedure or function 'CounterViewedNews' expects parameter '@NewsID', which was not supplied