我的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/