2012-04-24 51 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