问卷调查系统如何使每一个问卷编辑按钮对应下一张页面添加问题,questionid怎么作为联系传递过去 求高手指点!!!!!
编辑:
 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
          if (e.CommandName == "Edit")
        {
            string aa = GridView1.DataKeys[Convert.ToInt16(e.CommandArgument)].Value.ToString();
            Response.Redirect(String.Format("AdminQuestion.aspx?an={0}", GridView1.DataKeys[Convert.ToInt16(e.CommandArgument)].Value.ToString()));
        }
    }   下一张是一张试卷生成的,只有添加问题
public partial class AdminQuestion : System.Web.UI.Page
{ DataClass cData = new DataClass();

protected void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(Session["AdminName"] == null)
{
Response.Redirect("Default.aspx");
} CreateSurveyPage();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{     }
#endregion protected void lbtnPQAdd_Click(object sender, System.EventArgs e)
{
Response.Redirect("PQuestionAdd.aspx");
} protected void lbtnQAdd_Click(object sender, System.EventArgs e)
{
Session["SonQueCount"] = 0;
Response.Redirect("QuestionAdd.aspx");
} protected void lbtnBack_Click(object sender, System.EventArgs e)
{
Response.Redirect("Admin.aspx");
} /// <summary>
/// 生成调查问卷
/// </summary>
/// <returns></returns>
private void CreateSurveyPage()
{
//读取问题个数
            string strSql = "SELECT COUNT(QueNum) FROM TQuestion ,QuestionTTT WHERE Parent = '0' and TQuestion.questionid=QuestionTTT.questionid";
DataTable dt = cData.DataRead(strSql);
int iQueCount = Convert.ToInt32(dt.Rows[0][0].ToString()); //读取问题信息、问题类型
            strSql = "SELECT QueNum,QueType,TQuestion.questionid FROM TQuestion,QuestionTTT WHERE Parent = '0' and TQuestion.questionid=QuestionTTT.questionid ORDER BY CAST(QueNum AS INT)";
dt = cData.DataRead(strSql); //循环生成每个问题
for (int i=0;i<iQueCount;i++)
{
string strQueNum = dt.Rows[i][0].ToString();
string strType = dt.Rows[i][1].ToString(); TableRow row1 = new TableRow();
TableRow row2 = new TableRow();
TableCell cell1 = new TableCell();
TableCell cell2 = new TableCell(); cell1.Controls.Add(CreateQue(strQueNum,i+1,strType));
cell2.Text="&nbsp;"; row1.Cells.Add(cell1);
row2.Cells.Add(cell2);
tabItem.Rows.Add(row1);
tabItem.Rows.Add(row2);
}
} /// <summary>
/// 生成调查问卷的一个问题
/// </summary>
/// <param name="strQueNum">问题编号</param>
/// <param name="iQueNum">问题序号</param>
/// <param name="strType">问题类型</param>
/// <returns>Table</returns>
private Table CreateQue(string strQueNum,int iQueNum,string strType)
{
Table tab = new Table();
tab.CellPadding = 0;
tab.CellSpacing = 0;
TableRow row1 = new TableRow();
TableCell cell1 = new TableCell();
TableCell cell2 = new TableCell();
TableCell cell3 = new TableCell();
TableCell cell4 = new TableCell(); Label lblQueNum = new Label();
lblQueNum.Text = iQueNum.ToString()+"、";
lblQueNum.ForeColor = System.Drawing.Color.FromName("#0066FF");
cell1.Controls.Add(lblQueNum);
lblQueNum.Width = 32;
Label lblDel= new Label();
Label lblBlank= new Label();
lblBlank.Width = 20;
lblDel.Text = "<a href=QuestionDel.aspx?qn="+strQueNum+"><font color=#ff0000>删除</font></a>";
lblDel.ForeColor = System.Drawing.Color.Blue;            string strSql = "SELECT Parent,TQuestion.questionid FROM TQuestion,QuestionTTT WHERE QueNum='" + strQueNum + "'and TQuestion.questionid=QuestionTTT.questionid";
if(cData.DataRead(strSql).Rows[0][0].ToString() != "0")
{
lblQueNum.Visible = false;
lblDel.Visible = false;
lblBlank.Visible = false;
} Label lblEdit = new Label();
lblEdit.Text = "<a href=QuestionModify.aspx?qn="+strQueNum+"><font color=#0000FF>编辑</font></a>";
lblEdit.ForeColor = System.Drawing.Color.Blue;
cell3.Controls.Add(lblEdit);
cell4.Controls.Add(lblBlank);
cell4.Controls.Add(lblDel); Label lblQueInfo = new Label();
            strSql = "SELECT QueInfo FROM TQuestion,QuestionTTT WHERE QueNum='" + strQueNum + "'and TQuestion.questionid=QuestionTTT.questionid";
DataTable dt = cData.DataRead(strSql);
lblQueInfo.Text = dt.Rows[0][0].ToString();
lblQueInfo.ForeColor = System.Drawing.Color.FromName("#0066FF");
if(lblQueInfo.Text.Trim() == "")
{
lblQueInfo.Visible = false;
lblEdit.Visible = false;
}
lblQueInfo.Width = 420;
cell2.Controls.Add(lblQueInfo);

row1.Cells.Add(cell1); if(strType == "R")
{
cell2.Controls.Add(lblEdit);                strSql = "SELECT COUNT(*) FROM TQuestion,QuestionTTT WHERE Parent='" + strQueNum + "'and TQuestion.questionid=QuestionTTT.questionid";
dt = cData.DataRead(strSql);
int iQueCount = Convert.ToInt32(dt.Rows[0][0].ToString());                strSql = "SELECT QueNum,QueType FROM TQuestion,QuestionTTT WHERE Parent ='" + strQueNum + "'and TQuestion.questionid=QuestionTTT.questionid";
dt = cData.DataRead(strSql);

for(int i=0;i<iQueCount;i++)
{
cell2.Controls.Add(CreateQue(dt.Rows[i][0].ToString(),i+1,dt.Rows[i][1].ToString()));
row1.Cells.Add(cell2);
}
}
else
{
row1.Cells.Add(cell2);
row1.Cells.Add(cell3);
}
row1.Cells.Add(cell4); row1.VerticalAlign = System.Web.UI.WebControls.VerticalAlign.Top;
tab.Rows.Add(row1);

if((strType == "S") || (strType == "M"))
{
                strSql = "SELECT COUNT(*) FROM TAnswer,QuestionTTT WHERE QueNum='" + strQueNum + "'and TAnswer.questionid=QuestionTTT.questionid";
dt = cData.DataRead(strSql);

for(int i=1;i<=Convert.ToInt32(dt.Rows[0][0].ToString());i++)
{
tab.Rows.Add(CreateItem(strQueNum,i.ToString(),strType));
}
} return tab; } /// <summary>
/// 生成调查问卷的一个选项
/// </summary>
/// <param name="strQueNum">问题编号</param>
/// <param name="strAnsNum">选项编号</param>
/// <param name="strType">问题类型</param>
/// <returns>TableRow</returns>
private TableRow CreateItem(string strQueNum,string strAnsNum,string strType)
{
TableRow row = new TableRow();
TableCell cell1 = new TableCell();
TableCell cell2 = new TableCell();
TableCell cell3 = new TableCell();            string strSql = "SELECT AnsInfo,AnsOther FROM TAnswer,QuestionTTT WHERE QueNum='" + strQueNum + "' AND AnsNum='" + strAnsNum + "'and TQuestion.questionid=QuestionTTT.questionid";
DataTable dt = cData.DataRead(strSql); row.Cells.Add(cell1); Label lblItemInfo = new Label();
lblItemInfo.Text = dt.Rows[0][0].ToString();
cell2.Controls.Add(lblItemInfo);
cell2.Width = 420;
row.Cells.Add(cell2); return row;
}
        protected void btnOk_Click(object sender, EventArgs e)
        {        }
}
}
看看怎么改