참고 : 이것은 ASP.NET 4.5에서 ASP.NET Web Forms Model Binding이고 MVC가 아닌입니다.ASP.NET 4.5에서 기능의 모델 바인딩을 사용하여 A 드롭 다운 목록에서 미리 선택된 값을 기준으로 gridview가 필터링되지 않음
내가 ASP.NET 4.5 기능을 사용하고 DAL의 방법으로 웹 양식 (안 MVC)에서 DropDownList로하고있는 gridview 바인딩 바인딩 모델 및 filtering data with model binding and web forms
드롭 다운리스트에 설명 된대로 잘 작동하고 :
AutoPostBack="True"
나는 다음과 같은 자바 스크립트를 사용하여 드롭 다운리스트의 초기 값을 설정하려고 :
<script>
function setSelectedValue(s, v) {
for (var i = 0; i < s.options.length; i++) {
if (s.options[i].text == v) {
s.options[i].selected = true;
return;
}
}
}
setSelectedIndex(document.getElementById('ddlDates'), "somevalue");
</script>
초기 값은 OK입니다.
폼이 처음로드 될 때 해당 값을 기준으로 gridview가 새로 고쳐지는 (필터링 된) 것으로 가정했지만 그런 일은 발생하지 않았습니다.
드롭 다운 목록에서 값을 선택할 때만 필터링됩니다.
WebForm을 처음로드 할 때 gridview를 자동으로 새로 고치지 못한 점은 무엇입니까?
업데이트
질문은 내가 오류가없는 Error when modifying ASP.NET DropDownList with javascript
에 비해 완전히 다른과 문제 양식의 시작에서 asp.net의 WebForm에 4.5 행동 기능을 데이터 바인딩에 관련이있다.
나는 자바 스크립트 코드를 제거하고 선언적 선언 사용 :이DDL을 확인하다 :
<asp:DropDownList ID="ddlDateId" runat="server" AutoPostBack="True" CssClass="form-control"
SelectMethod="GetMyDropDownItems"
SelectedValue="<%# GetDefault() %>"
AppendDataBoundItems="True">
</asp:DropDownList>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True"
ItemType="Store.merit"
SelectMethod="GetMerits"
CssClass="table table-striped">
</asp:GridView>
코드 형태로드의 시작시
public IEnumerable<string> GetMyDropDownItems()
{
//Call DAL methods and return IEnumerable<string>
}
//note the [Control] Attribute that use the ddl ddlDateId
public IEnumerable<Merit> GetMerits([Control] string ddlDateId)
{
//Call DAL methods and return IEnumerable<Merit>
}
뒤에를 데이터로 채워지면 기본값은 Ok입니다. 격자보기 i s empty
Datagrid가 비어있는 것은 'GetMerits'메서드에 전달 된 'ddlDateId'매개 변수가 null이지만 실제로는 값이 있음을 의미합니다. I 기본값 식 SelectedValue="<%# GetDefault() %>"
및 DDL의 첫 번째 항목을 사용하여 제거하더라도
는 그리드보기 비어
리스트에서 항목을 선택함에 항목
을 선택 (DDL) gridview 새로 고쳐지고 잘 작동합니다.
그래서 질문은 왜 Asp.net 프레임 워크가 null 값을 전달하는지 (실제로는 그렇지 않음) 그리드 뷰의 Select 메서드에서 폼의 시작 부분에 전달하는 것입니다.
[자바 스크립트로 ASP.NET DropDownList를 수정할 때 오류가 발생했습니다.] (https://stackoverflow.com/questions/29995880/error-when-modifying-asp-net-dropdownlist-with- javascript) –