다음과 같이 만든 도우미가 있습니다.
public static MvcHtmlString FileDomElement(this HtmlHelper helper, FileUpload fileUpload)
{
string strOutput = string.Empty;
if (fileUpload.MultipleFile)
{
if (string.IsNullOrEmpty(fileUpload.MimeType))
{
strOutput = "<input type=\"file\" multiple=\"multiple\" id=\"chooseFiles\" value=\"Choose File(s)\" onchange=\"ehDisplayFileNames();\" style=\"opacity: 0\" >";
}
else
{
strOutput = "<input type=\"file\" multiple=\"multiple\" id=\"chooseFiles\" value=\"Choose File(s)\" accept=\"" + fileUpload.MimeType + "\" onchange=\"ehDisplayFileNames();\" style=\"opacity: 0;\">";
}
}
else
{
if (string.IsNullOrEmpty(fileUpload.MimeType))
{
strOutput = "<input type=\"file\" id=\"chooseFiles\" value=\"Choose File(s)\" onchange=\"ehDisplayFileNames();\" style=\"opacity: 0;\">";
}
else
{
strOutput = "<input type=\"file\" id=\"chooseFiles\" value=\"Choose File(s)\" accept=\"" + fileUpload.MimeType + "\" onchange=\"ehDisplayFileNames();\" style=\"opacity: 0;\">";
}
}
return MvcHtmlString.Create(strOutput);
}
이제 파일의 onchange 이벤트에서 버튼을 백엔드로 보내고 싶습니다. 한 페이지에 여러 파일 입력 요소가 있기 때문입니다. 그래서 어느 것이 클릭되었는지 감지하고 싶습니다.
이걸 도와주세요.
감사합니다 Abhishek
이벤트 정보를 포착하고이를 사용하여 보낸 사람에 대한 참조를 얻을 수 있습니다.
function ehDisplayFileNames(event) {
console.log(event.target.id + ' has fired the event!');
}
마크 업은 이벤트를 전송해야합니다. onchange = "ehDisplayFileNames (event);"
위의 Mark의 의견은 매우 사실입니다. 일단 클라이언트 측 ID가 있으면이 정보를 서버로 되돌리려면 Ajax 호출 유형이 필요합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다