asp.net mvc состояние переключателя

Тело вашего триггера UPDATE для OrdersTable должно выглядеть примерно так:

IF NEW.Status = 1 
   AND OLD.Status <> 1 --Edit: Updates on other fields should not adjust quantities
BEGIN
    UPDATE TrackInventoriesTable AS ti 
    INNER JOIN PurchasedProductsTable AS pp ON ti.ItemSku = pp.ItemSku
    SET ti.OrderedQty = ti.OrderedQty - pp.Qty
    WHERE ti.CustomerId = NEW.CustomerId AND pp.OrderId = NEW.ID
    ;
END

Однако, если в одном заказе может быть несколько записей для одного и того же sku, это, вероятно, не будет работать; если я правильно помню, запросы MySQL UPDATE обновят строку только один раз, даже если объединение будет указывать на необходимость нескольких обновлений.

13
задан Josh Bush 4 November 2008 в 21:46
поделиться

5 ответов

Форма не должна отправлять на querystring, если Вы не забыли указывать форму как метод = "POST". Как Вы указываете форму? Вы используете ASP.NET Бета MVC?

2
ответ дан 2 December 2019 в 00:04
поделиться

То, в чем Вы нуждаетесь, является чем-то вроде этого в Вашем представлении:

<% foreach(var provider in (IEnumerable<Provider>)ViewData["Providers"]) { %>
    <%=Html.RadioButton("ProviderType", provider.ID.ToString(), provider.IsSelected)%><label><%=provider.Name%></label>
<% } %>

И затем в Вашем контроллере имеют это:

var providers = GetProviders();
int selectedId = (int) Request["ProviderType"]; // TODO: Use Int32.TryParse() instead
foreach(var p in providers)
{
    if (p.ID == selectedId)
    {
        p.IsSelected = true;
        break;
    }
}
ViewData["Providers"] = providers;
return View();

Класс Поставщика будет чем-то вроде этого:

public class Provider
{
    public int ID { get; set; }
    public string Name { get; set; }
    public bool IsSelected { get; set; }
}
4
ответ дан 2 December 2019 в 00:04
поделиться

Хорошо логически это не сохранилось бы, нет никакого состояния сеанса. Думайте о нем как о совершенно новой странице. Для получения переключатели для заполнения Вас должны сохраниться назад, что-то как ViewData["ProviderType"] = 3, чтобы иметь переключатель повторно заполняет с его данными.

1
ответ дан 2 December 2019 в 00:04
поделиться

Если вы дадите переключателям то же имя, что и свойство в вашей модели, тогда MVC автоматически установит отмеченный атрибут для соответствующей кнопки.

7
ответ дан 2 December 2019 в 00:04
поделиться

Сейчас я использую vs2010, он работает так:

<%=Html.RadioButton("ProviderType","1",Model.ProviderType==1)%><label>Hospital</label> 

выглядит лучше?

2
ответ дан 2 December 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: