2008-12-18 51 views
0

我是新來的ASP.Net MVC和jQuery,我想要做的是做一個窗體,要麼添加一個新的RockBand或更新現有的RockBand基於if rockbandid是一個空的guid或不是。我想現在是使用jQuery進行滾動的好時機。因此,第一步是製作樂隊列表並在其旁邊放置編輯鏈接。如果用戶點擊編輯鏈接,我想改變輸入框的值和隱藏字段。下面的代碼是第一步,試圖設置輸入框的值(當前有一個固定的字符串,但最終會是任何帶名稱)。但是,當我這樣做時,我得到一個對象所需的錯誤。 (jQuery的包括是對的Site.Master)使用ASP.NET MVC的jQuery選擇器的麻煩

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> 
<script type="text/javascript"> 
    function fillinbandname(thebandname) { 
     $('#bandname').val(thebandname); 
    } 
</script> 
<ul> 
<%foreach (DomainModel.RockBand rockband in ViewData.Model) %> 
<%{ %> 
<li><%=rockband.BandName %> <a href='javascript:fillinbandname("somesamplevalue");'>edit</a></li> 
<%} %></ul> 

<%Html.BeginForm("MakeOrUpdateRockBand", "Bands", FormMethod.Post); %> 
<input type="text" id="bandname" name="bandname" maxlength="30" /> 
<input type="hidden" id="bandid" name="bandid" value="00000000-0000-0000-0000-000000000000" /> 
<input type="submit" value="Add New Band" /> 
<%Html.EndForm(); %> 

</asp:Content> 

這感覺就像我SOOOO接近...但我失去了一些東西根本。

回答

1

你的代碼沒問題。你的JQuery包含可能是錯誤的。順便說一句,谷歌提供免費主機的jQuery和其他API。你可以嘗試更換您的jQuery包括本:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

但無論如何...檢查其指向正確的文件。

1

我將您的HTML和JavaScript複製到示例文件中;它爲我工作。我建議的唯一的事情是改變你的錨以下幾點:

<a href='#' onclick='fillinbandname("somesamplevalue"); return false;'>edit</a> 

而且,你不一定需要一個函數來做到這一點,你可以直接在onclick事件使用jQuery。這是你的自由裁量權。

確保您的HTML正在按照您的期望生成,並確保您爲每個bandname和bandid生成唯一的ID。 ID不能在HTML文檔中多次出現。

+0

這也有幫助,因爲我可以將它內聯並使其更具可讀性。謝謝! – Webjedi 2008-12-18 05:03:07

+0

我相信他計劃在編輯時將唯一ID放入隱藏bandid字段的值中。 – 2008-12-18 05:04:02