Вставить пользовательское значение в ячейку в динамических данных ASP.NET - PullRequest
3 голосов
/ 10 апреля 2010

У меня есть сайт Dynamic Data linq to sql, на котором мне нужно назначить значения определенной ячейке на страницах вставки или обновления.Я пробовал в загрузке страницы шаблона редактирования

table.Columns[1].DefaultValue = User.Identity.Name;

, но, как метатабельный, он доступен только для чтения.

Справка ...

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Я знаю, что это старый пост, но это может помочь другим в решении их проблемы.

Вы можете использовать это:

public partial class BasicModelDataContext : DataContext
{
        partial void InsertEmployee(Employee instance)
        {
            instance.MyValue = "NEW VALUE";
            Employee.Insert(instance);
        }

        partial void UpdateEmployee(Employee instance)
        {
             instance.MyValue = "NEW Update VALUE";
             Employee.Update(instance);
        }
}
1 голос
/ 18 августа 2010

Чтобы изменить метаданные, вы должны добавить некоторые атрибуты в свойства класса модели (вы можете найти их в сгенерированных классах DataContext, если вы используете LinqToSql).

class User
{
  [DefaultValue("The default name")]
  string Name {get;set;}
}

Но, к сожалению, он не будет использоваться по умолчанию шаблонами полей динамических данных, поэтому вам придется отредактировать шаблоны для использования свойства DefaultValue, Пример в Page_Load шаблона TextEdit:

if (!IsPostBack)
{
  if (Mode == DataBoundControlMode.Insert && Column.DefaultValue != null)
  {
      TextBox1.Text = Column.DefaultValue.ToString();
  }
}
...