【问题标题】:Call method with parameters from string in database使用数据库中字符串的参数调用方法
【发布时间】:2011-07-08 19:16:11
【问题描述】:

我的数据库中有一个 MVC3 应用程序和一个通知系统。 这个通知系统,保存了很多东西,比如:userid、text、status 和一个pending_action。 最后一列的值类似于“http://localhost:3713/Controller/Action?param1=1&param2=2&param3=3”或“/Controller/Action?param1=1&param2=2&param3=3”,这是要执行的操作收到通知的用户,执行接受。 问题是我不知道如何从我拥有的字符串中执行该方法。 我做了一个 Redirect(NotificationObject.PendingAction) 但没有用。

不知道这是否是数据库中保存pending_action最好的方法,如果有更好的方法,那就更好了:)

我希望你能帮助我:)

谢谢!

【问题讨论】:

    标签: asp.net-mvc c#-4.0


    【解决方案1】:

    以下对我有用:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return Redirect("/Home/Action?param1=1&param2=2&param3=3");
        }
    
        public ActionResult Action(string param1, string param2, string param3)
        {
            var data = string.Format(
                "param1={0}, param1={1}, param1={2}", 
                param1, 
                param2, 
                param3
            );
            return Content(data, "text/plain");
        }
    }
    

    您不认为如果您使您的数据库与 ASP.NET MVC 无关并且仅在某个表中存储 param1=1、param2=2 和 param3=3 值然后拥有您的 MVC 会更好应用程序根据其路由配置构造正确的 url?

    【讨论】:

    • 这行得通,但前提是 Action 方法重定向到视图。但我需要继续执行 Index 方法(在您的示例中)。
    • @Phoenix_uy,我不懂你。
    • @Phoenix_uy,你不能在返回之前执行任何你必须执行的操作吗?
    • 我不能...我需要的方法是:public ActionResult Index(){ //CALL PENDING_METHOD //更新通知状态从等待完成或某事..返回 ActionX
    • @Phoenix_uy,我要失去你了 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    相关资源
    最近更新 更多