2012-04-24 70 views
0

你好我基本上是新的Ajax和有一個艱難的時間來寫吧..阿賈克斯分配SRC到動態的iFrame在MVC3

我想分配SRC值的iFrame是從數據庫
表被取出HobbyMasters

HobbyName 
HobbyUrl 

我寫一個函數並立即抓取從表中的URL時,我在其上顯示的鏈接我想要的iframe中被加載該網址Hobbyname點擊。

最初我寫了一個javascript:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('a').click(function (e) { 
     e.preventDefault(); 
     $('iframe').attr('src', "Dancing"); 
    }); 
}); </script> 

但這裏的SRC是靜態的,通過JavaScript我不能夠從DATABSE分配獲取價值src屬性
所以思想

的編寫Ajax ..

我已經試過的東西,但它是incomplete.Please幫我看看這個:

<script type="text/javascript"> 
$(document).ready(function() {   
$('a').click(function (e) { 
      e.preventDefault(); 
     var filename = $(this).text(); 

     var Hobbyurl = '@Url.Action("FetchUrlByHobbyName")'; 
     $.ajax({ 
      type: "POST", 
      url: Hobbyurl , 
      data: { data: filename }, 
      success: function (returndata) { 
      Here i want to assign the fetched src from function FetchUrlByHobbyName to Iframe src 
     $('iframe').attr('src', filename); 
      } 
     }); 
    }); 

函數內控制器:

[HttpPost] 
    public ActionResult FetchUrlByHobbyName(string Hobbyurl) 
    { 
     HobbyMasters hobbymaster = new HobbyHomeService().FetchHobbyMasterByHobbyName(Hobbyurl); 

     string url=hobbymaster.InformationUrl; 
     if (HttpContext.Request.IsAjaxRequest()) 
      return Json(new{src=url}); 
     return View(); 
    } 

回答

0

如果@Url.Action("FetchUrlByHobbyName")返回愛好的網址,你可以做

<script type="text/javascript"> 
$(document).ready(function() {   
$('a').click(function (e) { 
      e.preventDefault(); 
     var filename = $(this).text(); 

     var Hobbyurl = '@Url.Action("FetchUrlByHobbyName")'; 
     $.ajax({ 
      type: "POST", 
      url: Hobbyurl , 
      data: { data: filename }, 
      success: function (returndata) { 
      Here i want to assign the fetched src from function FetchUrlByHobbyName to Iframe src 
     $('iframe').attr('src', returndata); 
      } 
     }); 
    }); 

最好的方法是返回與JSON相關的數據,並從JSON對象

獲得url
success: function (returndata) { 
    jsonObj = jQuery.parseJSON(returndata) 
    $('iframe').attr('src', jsonObj.url); 
} 
+0

嗨,我想你的ajax函數可以幫助我多一點我已經寫了函數FetchUrlByHobbyName()在我的控制器,我能夠獲取記錄,但我不明白我該如何返回這會將值提取給ajax。我已經更新了我的問題,請你看看並幫助我。 – user1274646 2012-04-24 08:43:03

+0

這對你有幫助嗎? http://stackoverflow.com/questions/227624/asp-net-mvc-controller-actions-that-return-json-or-partial-html – Sethunath 2012-04-24 09:07:25

+0

我試過看到我更新的問題,但它給出了一個錯誤,jsonObj。 url爲空。請告訴我如何返回值 – user1274646 2012-04-24 09:41:01