为什么IP形字符串就传不进参数?
if (ArticleAdo.pubComment(articleId, TextBox1.Text, userName))
.....
请指教,我用response.write(userName)显示是127.0.0.1,但发表评论后,ACCESS数据库里就只能插入articleId和TextBox1.Text的值,userName字段的值插不进去,全为空白。
如果userName为“大飞”,又一切正常。请指教,why?
还有一个可能相似的问题,Label1.Text = ArticleAdo.getTitle(articleId);response.write了articleId显示有值,可是总是显示错误“对象未引用到实例”,我以前有段时间还好好的。。。。
代码如下,请高手看看:
public partial class Comment : System.Web.UI.Page
{
string userName;
int articleId;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["userName"] != null)
{
userName = Session["userName"].ToString();
d1.Visible = false;
d2.Visible = false;
}
articleId = Convert.ToInt32(Request.QueryString["ArticleId"]);
//Label1.Text = ArticleAdo.getTitle(articleId);
getArticle();
}
private void getArticle() //取得Article数据
{
DataSet ds = ArticleAdo.readComment(articleId, "comment");
int cup = Convert.ToInt32(this.lb_CurrentPage.Text); //当前页数,初始化为地1页
PagedDataSource ps = new PagedDataSource();
ps.DataSource = ds.Tables["comment"].DefaultView;
ps.AllowPaging = true;
ps.PageSize = 6; //每页显示的数据的行数
ps.CurrentPageIndex = cup - 1;
lb_count.Text = ps.DataSourceCount.ToString(); //获取记录总数
lb_page.Text = ps.PageCount.ToString(); //获取总页数
if (!IsPostBack)
{
for (int i = 1; i < ps.PageCount + 1; i++)
{
this.DropDownList1.Items.Add(i.ToString());
}
LinkUp.Enabled = true;
LinkDown.Enabled = true;
}
try
{
DropDownList1.SelectedItem.Text = cup.ToString();
DataList1.DataSource = ps;
DataList1.DataBind();
}
catch (Exception ex)
{
throw ex;
}
}
protected void LinkDown_Click(object sender, EventArgs e) //下一页按钮代码
{
try
{
lb_CurrentPage.Text = Convert.ToString(Convert.ToInt32(lb_CurrentPage.Text) + 1);
DropDownList1.SelectedValue = lb_CurrentPage.Text;
getArticle();
}
catch (Exception ex)
{
Response.Write("<script language=javascript>" + "alert(\"已经是最后一页\")" + "</script>");
lb_CurrentPage.Text = "1";
getArticle();
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) //跳转到指定页代码
{
int page = Convert.ToInt16((DropDownList1.SelectedItem.Value));
lb_CurrentPage.Text = page.ToString();
getArticle();
}
protected void LinkUp_Click(object sender, EventArgs e) //上一页按钮代码
{
try
{
if (Convert.ToInt16(lb_CurrentPage.Text) > 1)
{
lb_CurrentPage.Text = Convert.ToString(Convert.ToInt32(lb_CurrentPage.Text) - 1);
DropDownList1.SelectedValue = lb_CurrentPage.Text;
getArticle();
}
else
{
Response.Write("<script language=javascript>" + "alert(\"已经是第一页\")" + "</script>");
}
}
catch (Exception ex)
{
Response.Write("<script language=javascript>" + "alert(\"已经是第一页\")" + "</script>");
}
}
protected void LinkFirst_Click(object sender, EventArgs e) //跳到第一页代码
{
if (lb_CurrentPage.Text != "1")
lb_CurrentPage.Text = "1";
else
{
Response.Write("<script language=javascript>" + "alert(\"已经是第一页\")" + "</script>");
}
getArticle();
}
protected void LinkLast_Click(object sender, EventArgs e) //跳到最后一页代码
{
if (lb_CurrentPage.Text.ToString() != lb_page.Text.ToString())
lb_CurrentPage.Text = lb_page.Text.ToString();
else
{
Response.Write("<script language=javascript>" + "alert(\"已经是最后一页\")" + "</script>");
}
getArticle();
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox1.Checked == true)
{
d1.Visible = false;
userName = Request.UserHostAddress;
}
else
{
d1.Visible = true;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (userName == "")
{
Response.Write("<script>alert('请先登录或选择匿名发表');location='javascript:history.go(-1)';</script>");
}
else
{
if (ArticleAdo.pubComment(articleId, TextBox1.Text, userName))
{
Response.Write("<script>alert('发表成功 !');</script>");
Response.Redirect(Request.CurrentExecutionFilePath.ToString());
}
else
{
Response.Write("<script>alert('由于不知名的错误没能发表成功');location='javascript:history.go(-1)';</script>");
}
}
}
protected void linkButton1_Click(object sender, EventArgs e)
{
Response.Write("<script>window.open('login.aspx','','width=655px,height=655px');</script>");
}
}