문제

이것은 간단해야하지만 나는 멍청한 것 같습니다. 내 ListView에 모든 설정이 있고 LINQ DataSource에 바인딩되었습니다. 소스는 ListView에 표시 할 분기 정보를 결정하는 드롭 다운 목록에 의존합니다. 내 편집 템플릿은 정상적으로 작동하지만 ListView 외부의 DropdownList에서 얻을 수있는 분기 ID를 원하기 때문에 삽입 템플릿이 작동하지 않지만 해당 값을 바인딩하고 템플릿에 설정하는 방법을 모르겠습니다. 다음과 같이 보입니다.

<InsertItemTemplate>
    <tr style="">
      <td>
         <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
               Text="Insert" />
     </td>
      <td>
       <asp:TextBox ID="RechargeRateTextBox" runat="server" 
          Text='<%# Bind("RechargeRate") %>' />
         </td>
              <td>
       <asp:Calendar SelectedDate='<%# Bind("StartDate") %>' ID="Calendar1"  runat="server"></asp:Calendar>                                    
       </td>
           </tr>
    </InsertItemTemplate>

삽입물이 작동하도록 ListView 외부의 데이터 라운드 ASP 드롭 다운리스트 값에 바인딩하는 레이블을 가져와야합니다.

도움이 되었습니까?

해결책 2

나는 이것으로 끝났다. Twanfosson에게 감사한다.

protected void ListView1_ItemInserting(object sender, System.Web.UI.WebControls.ListViewInsertEventArgs e)
        {
            e.Values["BranchID"] = DropDownList1.SelectedValue;
        }

다른 팁

DropdownList의 값이 변경 될 때 ListView의 값을 해당 분기의 기본값으로 수동으로 설정할 수 있도록 OnSelectedIndExChanged (AutoPostBack = True) 콜백을 사용하십시오.

protected void BranchDropDownList_OnSelectedIndexChanged( object sender, EventArgs e )
{
    DropDownList ddl = (DropDownList)sender;
    RechargeRateTextBox.Text = BranchManager.GetRechargeRate( ddl.SelectedValue );
}

모든 것을 업데이트 패널로 감싸면 Ajax를 통해 모두 발생할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top