我做了一个新闻系统,在做新闻编辑页面时,因为要用新闻分类DropDownList,所以我将新闻ID——Request.QuerryString["newsid"]写在了Page_Init中判断如下:
protected void Page_Init(object sender, EventArgs e)
{
   if (Request.QueryString["id"] == null)
   {
        Lbl_result.Text = "参数错误";
        return;
    }
    string tempid = function.Encode(Request.QueryString["id"].ToString())
    if(function.isint(tempid)==false)
    {
        Lbl_result.Text = "参数错误";
        return;     }
    //从数据库中取该新闻 已判断是否为DDL_newssort添加值
   if(function.ishave(tempid)==false)
   {
        Lbl_result.Text = "该新闻不存在";
        return;   }
   getchilds.sortsobject(0, 0, DDL_newssort, false, "newssort");//为DDL_newssort加值
 }
请高手指点一下 这样思路是否正确另外,因为新闻Request.QuerryString["newsid"]在Page_Init中已进行了验证,所以提交后就省去了对新闻ID的验证,,可是今天我自己把生成表单后的源码考出来,另存为form.htm,没想到提交后虽然验证错误虽然被return显示出来了,但click事件里的代码也被执行了。如果把return换成Response.End()的话,错误又不显示。
请高手指点一下噢

解决方案 »

  1.   

    Page_Load中
    Request.QuerryString["newsid"]==null?"":"";
    Convert.ToInt32  
      

  2.   

    to 4楼,只能在在Page_Load中判断吗? 这样子的话无端又增加了DropDownList的赋值,另外赋值到DropDownList中的新闻分类也要有用户权限判断
      

  3.   

    你return的只是这一个方法,并不是整个事件链
    你可以加全局变量,判断是否执行其他的代码
      

  4.   

    to 6楼:嗯,好方法,我测试一下,思路如下:
    bool founderr=true;
    先Page_Init 后Page_load 后Button_Click
      

  5.   

    嗯,6楼果然好方法,自己对return用法还是没有真真了解啊。另外发现Page_load中使用Label1.text="参数错误";response.end();这个样子显示的只是一个空白叶子。
    看看大家还有没有好的方法吗?
    准备结贴哈