自动生成的超链接 如何触发服务端的代码 不用Ajax
- C# code
protected void gv_list_RowDataBound(object sender, GridViewRowEventArgs e){ if (e.Row.RowType == DataControlRowType.DataRow) { string strContractID = DataBinder.Eval(e.Row.DataItem, "ContractID").ToString(); string strPlanningID = DataBinder.Eval(e.Row.DataItem, "PlanningID").ToString(); e.Row.Cells[6].Text = string.Format("<a href='P25010106.aspx?contractid={0}&planningid={1}'>成本预算</a>", strContractID, strPlanningID); e.Row.Cells[7].Text = string.Format("<a href='P25010107.aspx?contractid={0}&planningid={1}'>资金预算</a>", strContractID, strPlanningID); }}private void RedirectToUrl(string url, string page){ // 将需要保存状态的控件压入状态堆栈中 KRSaveState(QCTop, PagerLine); // 要跳转的页面 url = page + url; Response.Redirect(url);}如何在gv_list_RowDataBound生成超链接时,赋予执行RedirectToUrl方法,不用Ajax
就是当我点击“成本预算”时,可以执行RedirectToUrl方法
[解决办法]
不用ajax啊,还是用吧
[解决办法]
那你就不能添加静态html字符串,需要添加LinkButton控件:
LinkButton linkButton = new LinkButton();
e.Row.Cells[6].Controls.Add(linkButton);
//设置linkButton的相关属性
linkButton.Click += new EventHandler(linkButton_Click);
void linkButton_Click(object sender, EventArgs e)
{
//执行RedirectToUrl方法
}
[解决办法]
你不去向服务端提出请求,怎么能触发服务端的事件呢
服务端就是一个受,你得强势的提出,他才能默默的承受并回应
[解决办法]
最好不要动态添加控件,你可以事先放好,隐藏。需要用时再显示出来。这样处理起来比较方便。
[解决办法]
要不就AJAX 要不就全JS来完成应该也是可以的
[解决办法]
1.强烈建议用AJAX
2.建议不要走到后台生成,又要响应事件,还不想AJAX的地步,
你的操作完全可以先在前台放个LinkButton按钮,
RowDataBound事件中再去用FindControl找到这个LinkButton
再给他赋路转路径、显示文本等属笥
如果LinkButton要响应事件,可以给它CommandName,CommandArgument属性。。。。
[解决办法]
[解决办法]
盗链 著名的_doPostBack函数
当然,你也可以自己模仿写一个。
基本原理就是 客户端触发JS事件 执行JS函数,然后传递事件源ID等信息
做一个submit表单提交动作 后台接受到请求 根据参数来执行相应的代码
可以参考我的博客文章
http://blog.csdn.net/dinglang_2009/article/details/7264212
[解决办法]
http://blog.csdn.net/dinglang_2009/article/details/7264212