-
一个简单的CMS实现
Posted on 九月 14th, 2009 No comments下午上课无聊设计的一个初步CMS实现,待改。基于asp.net。.NetFramework 3.5sp1以上。
-
C#中“回发或回调参数无效”的解决办法
Posted on 八月 13th, 2009 No commentsasp.net中使用回发按钮时经常会遇到这样的错误:
回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用<%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
这是我们经常会犯的一个小错误,它的原因在于Page_Load方法中没有对页面是初次载入还是PostBack进行判断,导致回调事件触发前对控件进行了更改,此时,只要加入对是否PostBack的判断既可。如下例:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataBind(); } }您来到小站很多次了哦,喜欢的话,不妨订阅我吧·!
-
C#中dllimport用法
Posted on 八月 1st, 2009 No commentsdllimport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息。
dllimport属性应用于方法,要求最少要提供包含入口点的dll的名称。
[AttributeUsage(AttributeTargets.Method)]
public class DllImportAttribute: System.Attribute
{
public DllImportAttribute(string dllName) {…} //定位参数为dllName
public CallingConvention CallingConvention; //入口点调用约定
public CharSet CharSet; //入口点采用的字符接
public string EntryPoint; //入口点名称
public bool ExactSpelling; //是否必须与指示的入口点拼写完全一致,默认false
public bool PreserveSig; //方法的签名是被保留还是被转换
public bool SetLastError; //FindLastError方法的返回值保存在这里
public string Value { get {…} }
} -
访问Repeater的Footertemplate中控件的方法
Posted on 四月 25th, 2009 No commentsFootertemplate在整个Repeater的Controls集合中是最后一个,因此访问它的途径之一是这样的:
rpt是一个Repeater对象
Control ctl = rpt.Controls[rpt.Controls.Count-1];
之后如果需要访问Footertemplate中的控件,则只需调用ctl的findcontrol方法即可。
需要注意的是,采用上述方法访问Footertemplate控件,必须在repeater进行databind之后,否则会出现null引用的错误。

滔滔不绝