-3

我在做通知模塊。下面的代碼顯示了通知表模型將網址重定向到另一個操作方法

public class Notification 
{ 
    [Key] 
    public int NotificationID { get; set; } 
    . 
    . 
    [Required] 
    public bool Active { get; set; } 
} 

當用戶單擊該通知,bool Active應設置爲false,然後重定向到其在URL欄sepecified的URL。我通過signalR完成了notifcation,但是點擊重定向到url的通知沒有完成。我無法重定向到指定的網址。

+1

向我們展示您的jqyery代碼。 – ramiramilu

+0

單擊通知後,請求將隨通知ID一起發送到控制器,其中處理所有通知並重定向到指定的URL。它不在jquery中處理。 – anand

+1

好的,告訴我們你的代碼,除非我們看到你的代碼,我們不能想到解決你的問題。 – ramiramilu

回答

1

您可以在用戶單擊通知項目時執行的操作方法內更新您的表格記錄。

public ActionResult NotificationRedirect(int notificationId) 
{ 
    var notification = db.Notifications.FirstOrDefault(notificationId); 
    if(notification!=null) 
    { 
     notification.Active=false; 
     db.Entry(notification).State = EntityState.Modified; 
     db.SaveChanges(); 
     return Redirect(notification.Url); 
    } 
    return View("NotificationNotFound"); //make sure you have a view with this name 
} 

現在從您的客戶端,您需要在您的href值設置爲NotificationRedirect處理法notificationId查詢字符串錨標記來構建標記(當你從singlaR通話)。喜歡的東西

<a href="YourControllerName/NotificationRedirect?notificationId=123">Notification tex</a> 

此外,重定向,如果你是顯示一個網頁,其中在你裏面的應用程序,你可以考慮使用RedirectToAction方法爲好。

+0

謝謝。但是返回重定向(notification.Url);工作不正常。然後在notification.url前加上「../」,重定向(「../"+ notification.Url);現在它可以正常工作 – anand

+0

'重定向'方法需要一個不確定的url(例如:http://www.google.com')。你爲什麼在url之前追加'「../」'?如果您嘗試重定向到應用中的頁面/視圖,則應考慮使用'RedirectToAction'方法。 – Shyju

相關問題