在我的自定义页面布局,我宣布一个RichImageField的Sharepoint RichImageField设置默认图像
<PublishingWebControls:RichImageField id="InteriorHeaderImage" FieldName="InteriorHeaderImage" InputFieldLabel="Header Image" runat="server" DisplayWidth="960" DisplayHeight="242" />
我想弄清楚如何设置默认图像,以便控制始终显示的图像,即使第一次页面是使用布局创建的。
理想情况下,我想例如一个声明的方式:
<PublishingWebControls:RichImageField id="InteriorHeaderImage" DefaultImageURL="[it should be this easy]" />
看来,控件的值属性分配一个ImageFieldValue对象,我也许可以弄清楚如何在代码隐藏设置但这种做法似乎难度比它应该是: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.fields.imagefieldvalue.aspx
解决方案: 我终于结束了创建这里描述的是从Microsoft.SharePoint.Publishing.PublishingLayoutPage继承的类文件后面创建一个代码为我的网页布局: http://msdn.microsoft.com/en-us/library/bb986729.aspx
课程的代码结果只作为一个几行:
protected void Page_Load(object sender, EventArgs e)
{
ImageFieldValue imageField = InteriorHeaderImage.Value as ImageFieldValue;
if (imageField!=null)
{
if(string.IsNullOrEmpty(imageField.ImageUrl))
imageField.ImageUrl = "/Style Library/assets/images/img1small.jpg";
}
}
我很感激你的意见。我测试了你的想法,但正如预期的那样,value属性并不期望表示ImageFieldValue对象的字符串。我收到以下异常: 无法为其'Value'属性的字符串表示'test.png'创建类型为'System.Object'的对象。 – 2009-08-17 20:07:27