Как правильно добавить шаблон пользовательской формы кода-бедой
-
16-10-2019 - |
Вопрос
Я создаю шаблон пользовательской формы для списка, и этот шаблон этого формы использует много элементов управления, таких как панели и выпадающие части. Я использую шаблон рендеринга в папке ControlTemplates и работаю. Я хочу теперь добавить код-бьём в шаблон управления, и я не могу найти пример того, как сделать это правильно. Я использую VSEWSS 1.3 и против 2008 и имею все настройки решения. Я просто хочу знать, как настроить страницу-кода-и-бедьеры для этого шаблона.
Решение
Просто построите (и подпишите) свой код заранее, бросьте его в BIN_APP_BIN и оставьте объявление класса в тег <@Control.
< %@ Control language = "c#" inherits = "yournamespace.class, yourassembly.assemblyname, версия = 1.0.0.0, культура = нейтральная, publickeytoken = yourpublickeytoken" %>
Другие советы
Есть много примеров этого о том, как это сделать.
Это был первый пример, который Google дал мне
http://jamestsai.net/blog/post/using-aspnet-web-user-control-with-code-behind-in-sharepoint.aspx
Поскольку я не успел заставить это работать правильно, я пытался понять, действительно ли мне нужно было сделать это так, как я это делал. Оказывается, я смог вместо этого создать пользовательскую веб -часть и поместить свои элементы управления туда, а затем просто использовал другую страницу для новых и редактирования форм. Не уверен, что это действительно поможет кому -то еще, это то, что я сделал, чтобы выполнить работу.
У меня такая же проблема, что и OP. Я хотел бы здесь больше от Джона Дандисона, если вы все еще слушаете!
Я добавил атрибут «Унаследованные» с именем 5 части в Директиву управления. Мой код за классом выглядит так.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
namespace MyNamespace
{
public class CustomRenderingTemplate : UserControl
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
}
}
Шаблон рендеринга загружается ОК. Я добавил точку перерыва к двум методам переопределения, и ни один из них не попал, поэтому я предполагаю, что он не подключен? Можете ли вы помочь мне? Я наследуюсь от правильного класса - Usercontrol?
http://www.andrewconnell.com/blog/articles/USINGCODEBEHINDFILESINSHAREPOINTITES.ASPX
Я не использую VSEWSS, но процесс такой же. Вам необходимо получить название кода из 5 частей и подключить его в атрибуте «Унаследованные» ASPX в Директиве Page.