Salesforce VisualForce:作为null传递给控制器的参数
由于某些原因,在尝试删除行时,SelectedRow Id始终显示为空,无法找出原因。我的页面中内置了一个表,我想添加一个commandlink来删除特定的行。当试图删除它时,它总是显示为null 我的页面:Salesforce VisualForce:作为null传递给控制器的参数,salesforce,visualforce,apex,Salesforce,Visualforce,Apex,由于某些原因,在尝试删除行时,SelectedRow Id始终显示为空,无法找出原因。我的页面中内置了一个表,我想添加一个commandlink来删除特定的行。当试图删除它时,它总是显示为null 我的页面: <apex:outputPanel id="main"> <table> <tr> <apex:repeat value="{!headers}" var="h"> <td class="hdr">{!h}</td&g
<apex:outputPanel id="main">
<table>
<tr>
<apex:repeat value="{!headers}" var="h">
<td class="hdr">{!h}</td>
</apex:repeat>
</tr>
<apex:repeat value="{!hours}" var="a">
<tr>
<td><apex:commandLink action="{!RowDelete}" value="delete" id="deleterow"/>
<apex:param assignto="{!SelectedRow}" value="{!a.id}" name="{!a.id}" />
</td>
<td ><apex:inputField value="{!a.Project__c}" /></td>
<td><apex:inputField value="{!a.Date__c}" /></td>
<td><apex:inputField value="{!a.StartTime__c}" /></td>
<td><apex:inputField value="{!a.EndTime__c}" /></td>
<td><apex:inputField value="{!a.Comments__c}" style="width:300px"/></td>
</tr>
</apex:repeat>
</table>
// class variables
id MonthlyReport;
public string SelectedRow {get;set{SelectedRow=value;system.debug('TESTING SelectedRow Value is '+SelectedRow );}}
Reported_Hour__c[] hoursl;
// To Delete Row
public pagereference RowDelete() {
system.debug('TESTING: SelectedRow value is '+SelectedRow);
Reported_Hour__c rh = [select id from Reported_Hour__c where id =: this.SelectedRow];
delete rh;
return null;
}
我想您可以从中转储
名称
位
<apex:param assignto="{!SelectedRow}" value="{!a.id}" name="{!a.id}" />
需要一些灵感吗?谢谢。我尝试了所有这些选项,也按照链接所说的做了,但仍然无法解决这个问题。单击链接时,请使用您喜爱的浏览器中的JS控制台检查请求参数中的内容。例如,如果它是在URL中传递的-检查参数名称,可能您可以通过ApexPages.currentPage().getParameters().get('selectedRowparam')攻击它代码>?