Как скрыть кнопку на форме

22 views
Skip to first unread message

Viktor Sirchenko

unread,
Oct 15, 2014, 11:58:26 PM10/15/14
to ext...@googlegroups.com
Всем привет, надо скрыть кнопку на форме
На основной форме, которая загружается при старте приложения все нормально скрывается, а вот на формах которые вызываются из главной и имеют тип Partial View не хотят скрывать
пробую по разному делать а результата нет:

public ActionResult Index()
       
{
            X
.GetCmp<Button>("btnUpdate").Hide();

           
return new Ext.Net.MVC.PartialViewResult { ViewName = "Index" };
       
}


когда пробую так, то выходит ошибка в консоли и форма не загружается

X.GetCmp<Button>("btnUpdate").Hide();
X.GetCmp<Button>("btnUpdate").Hidden = true;
X.GetCmp<Button>("btnUpdate").Disable(true);

когда пробую так, форма загружается, но все равно кнопка видна

X.GetCmp<Button>("btnUpdate").Visible = false;

может кто знает надежнее способ?


Daniil Veriga

unread,
Oct 16, 2014, 1:12:59 AM10/16/14
to ext...@googlegroups.com
Привет.

Этот код


     X.GetCmp<Button>("btnUpdate").Hide();

просто генерит JavaScript и получается:

     App.btnUpdate.hide();

А вызывается этот код, я думаю, до рендеринга partial view, то есть когда кнопка ещё не создана.

Надо передавать информацию в partial view через Model, ViewBag или ViewData и ставить там .Hidden(true) для кнопки.

--
Вы получили это сообщение, поскольку подписаны на группу "Ext.NET".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес extnet+un...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Viktor Sirchenko

unread,
Oct 16, 2014, 9:07:04 PM10/16/14
to ext...@googlegroups.com
Я так и пробую:

public ActionResult Index()
        {
            ViewBag.hiddenButton = true;

            return new Ext.Net.MVC.PartialViewResult { ViewName = "Index" };
        }

@model IEnumerable<Models.Dictionary.Organization>

@{
    var hiddenButton = (ViewBag.hiddenButton as bool?).Value;
}


                Html.X().Button()
                    .ID("btnAdd")
                    .Text("Добавить")
                    .Hidden(hiddenButton)
                    .DirectEvents(de =>
                    {
                        de.Click.Url = Url.Action("Create");
                    }),

но у меня на это ругается

Compiler Error Message: CS1977: Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
и ругается на .DirectEvents(de =>

четверг, 16 октября 2014 г., 11:12:59 UTC+6 пользователь Daniil написал:

Daniil Veriga

unread,
Oct 17, 2014, 12:32:09 AM10/17/14
to ext...@googlegroups.com
Ответил на форуме:
http://forums.ext.net/showthread.php?45171

Viktor Sirchenko

unread,
Oct 17, 2014, 12:56:59 AM10/17/14
to ext...@googlegroups.com
Почему то когда ставлю точку останова во View

@{
    bool hiddenButton = bool.Parse(ViewBag.hiddenButton.ToString());
}

ViewBag.hiddenButton = null

хотя я его заполняю

public ActionResult Index()
        {
            ViewBag.hiddenButton = true;

            return new Ext.Net.MVC.PartialViewResult { ViewName = "Index" };
        }

пятница, 17 октября 2014 г., 10:32:09 UTC+6 пользователь Daniil написал:

Daniil Veriga

unread,
Oct 17, 2014, 12:58:58 AM10/17/14
to ext...@googlegroups.com
Ответил на форуме.
Reply all
Reply to author
Forward
0 new messages