在 MVC 中导航时保存变量值

Save variable value while navigation in MVC

我只有一页 ABC.cshtml。在页面中,我为带有“Back”和“Next”按钮的多模式弹出窗口编写了代码。当我单击按钮时,它会从一种模式导航到另一种模式。

我有“Id”,当我从一个模式导航到另一个模式但 "Id" 变为空时我需要坚持。

我使用了Tempdata/Viewdata/Viewbag/Hidden字段来持久化数据,但没有用。我不能在这里使用会话来保存状态。还有其他方法吗?

有人可以帮我解决这个问题吗?

提前致谢。

您可以使用隐藏字段

<input type="hidden" name="Language" value="English">

在asp.Net中:

<asp:HiddenField id="Language" runat="server" value="English"/>

你可以使用缓存

添加System.Runtime.Caching

//Add cache named Key1. It will expire in 10 minute
CacheWrapper.Add("Key1", new List<int>(), 10);

//Get the cache
var result = CacheWrapper.Get<List<int>>("Key1");

//Delete the cache
CacheWrapper.Delete("Key1");

像这样创建包装器class

public class CacheWrapper
{
    private static ObjectCache cache = null;

    public static ObjectCache Cache
    {
        get
        {
            if (cache == null)
            {
                cache = MemoryCache.Default;
            }
            return cache;
        }
    }

    public static void Add(string key, object data, double expireInMinute)
    {
        Delete(key);
        Cache.Add(key, data, DateTime.Now.AddMinutes(expireInMinute));
    }

    public static object Get(string key)
    {
        if (!Cache.Contains(key))
            return null;
        return Cache[key];
    }

    public static void Delete(string key)
    {
        if (Cache.Contains(key))
        {
            Cache.Remove(key);
        }
    }
}