我的mainClass中的属性

  public Int64 DetailID
        {
            get { return bintDetailID; }
            set { bintDetailID = value; }
        }


我的课

mainClass obj=new mainClass();
obj.DetailID = int.Parse(e.CommandArgument.ToString());


aspx页面

<asp:Button ID="btnEdit" Text="Edit" CommandArgument='<%#Eval("DetailID") %>'
CausesValidation="false" CommandName="Edit" Visible="false" runat="server" OnCommand="btnEdit_Click"/>


这不是你如何将字符串转换为int吗?

int.Parse(e.CommandArgument.ToString());


怎么了 ? plz帮助..thnx

最佳答案

假设您的Button对象不在网格/中继器之类的数据绑定控件中,
AND如果您尝试使用DetailID属性绑定按钮,请检查以下内容:


假设您的按钮位于testPage.aspx中,则testPage.aspx的代码隐藏类(即class testPage)应具有Int64类型的属性,称为DetailID。
例如:Int64 DetailID get; set;
假设mainClass是您的某个自定义类,则在Page_Load中的某个位置,您将必须执行this.DetailID = mainClassObject.DetailID;,其中this =页面的实例。
此外,在您的page_load方法中,您将必须执行Page.DataBind()。这是因为像按钮这样的非数据绑定控件没有自己的DataBind()方法。


注意1:如果您的testPage.DetailID = Int32 / int,则您需要使用setter方法或在此之前进行转换,因为y0ur mainClass是Int64

注意2:从您的评论看来,您似乎在说Int64不存在。哪个很奇怪!
尝试使用完全限定的名称,即System.Int64,看看是否可行!

关于c# - 需要格式异常帮助::输入字符串的格式不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3956860/

10-11 16:31